Jquery ui Datepicker jQuery,当我直接在输入中写入时很奇怪

Jquery ui Datepicker jQuery,当我直接在输入中写入时很奇怪,jquery-ui,datepicker,Jquery Ui,Datepicker,我对jQuery datepicker有点奇怪 如果我用datepicker选择一个日期,没关系,没问题 但是如果我直接在输入中写入日期,例如:19/05/1990(法语格式) 当我写入一年中的第一个数字(这里是1)时,jquery在我的日期选择器中自动选择日期2001,并删除输入中的值 你有什么想法吗 编辑:这里是我使用的所有选项 yearRange: "-113:+0", changeMonth: true, changeYea

我对jQuery datepicker有点奇怪

如果我用datepicker选择一个日期,没关系,没问题

但是如果我直接在输入中写入日期,例如:
19/05/1990
(法语格式)

当我写入一年中的第一个数字(这里是1)时,jquery在我的日期选择器中自动选择日期
2001
,并删除输入中的值

你有什么想法吗

编辑:这里是我使用的所有选项

yearRange: "-113:+0",
                changeMonth: true,
                changeYear: true,
                closeText: 'Fermer',
                dateFormat: "dd/mm/yy",
                prevText: '<Préc',
                nextText: 'Suiv>',
                currentText: 'Courant',
                monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
                'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
                monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
                'Jul','Aoû','Sep','Oct','Nov','Déc'],
                dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
                dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
                dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa']

实例化
datepicker()
函数时,需要指定正确的本地化

请参阅或的“本地化”部分(特别建议使用
jquery.ui.datepicker-fr.js


如果您想在键入1时防止跳转到2001年,您可以在创建实例之前覆盖插件的行为,覆盖函数
\u doKeyUp

var oldKeyUp = $.datepicker._doKeyUp;

$.datepicker._doKeyUp = function(event){
    var inst = $.datepicker._getInst(event.target);
    var tmpValue = inst.input.val();
    var arr = tmpValue.split('/');
    if (arr.length == 3){
        if (arr[2].length == 4){
            return oldKeyUp(event);
        }
    }
    return false;
}

$( "#datepicker" ).datepicker({...});

有了这个插件,插件将一直等到你有一年的完整4位数字(假设格式为“dd/mm/yy”)。

你能提供一个示例链接吗?我尝试了你的配置,它工作正常,如果我为日期选择器到2001年的年份写“1”,但它不会删除输入。Ckeck有可能禁用它吗?恐怕插件没有任何选项来禁用该行为。您必须更改插件的源代码。您是否能够解决问题?仅供参考(“PVI”,法语?):这个类似的问题也解决了本地化问题:您是否包含了“jquery.ui.datepicker-fr.js”文件?请参阅…当我在字段中键入“19/05/1990”时,它会选择正确的日期。。。
var oldKeyUp = $.datepicker._doKeyUp;

$.datepicker._doKeyUp = function(event){
    var inst = $.datepicker._getInst(event.target);
    var tmpValue = inst.input.val();
    var arr = tmpValue.split('/');
    if (arr.length == 3){
        if (arr[2].length == 4){
            return oldKeyUp(event);
        }
    }
    return false;
}

$( "#datepicker" ).datepicker({...});