小编Ser*_*kan的帖子

手动输入的jQuery Datepicker格式日期

我有一个jQuery datepicker格式:dd-MM-yyyy.

默认情况下,日期选择器转换的日期,如1-2-399年1月2日2003年1月2日1999年1月2日分别.但是,只有当您按Enter键或从datepicker中选择日期时才会出现这种情况.我试图通过使用以下方式自动格式化字段:

$j('.datepicker').live('blur', function(){
    $j(this).datepicker('setDate', $j(this).datepicker('getDate'));
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我使用的效用函数的setDate和日期选择器本身的GETDATE.例如,当您使用键盘输入日期并使用TAB键时,此方法有效.但是,当您尝试使用鼠标选择日期时,模糊触发器也会激活.因此,您必须使用鼠标选择日期两次,因为第一个模糊事件会将旧值设置回来.

有什么事我想念我可以使用吗?

解决方法

不是很优雅但它是部分解决方案:

var timeout;
$j('#geboortedatum').live('keypress', function() {
    if(timeout) {
        clearTimeout(timeout);
        timeout = null;
    }
    timeout = setTimeout(formatDate, 1000);
});

function formatDate() {
    var gebdat = $j('#geboortedatum').val();
    var dashCount = gebdat.split('-').length - 1;
    if(dashCount == 2 && gebdat.length >= 5) {
        $j('#geboortedatum').datepicker('setDate', $j('#geboortedatum').datepicker('getDate'));
    }
}
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui datepicker

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

datepicker ×1

jquery ×1

jquery-ui ×1