2013-07-03 63 views
1

我對jQuery datepicker有點奇怪。Datepicker jQuery,當我直接在輸入中寫入時很奇怪

如果我用datepicker選擇一個日期,沒關係,沒問題。

但是,如果我直接在輸入寫的日期,例如:19/05/1990(法語格式)

當我寫的一年(這裏是1)的第一個數字是,jQuery在我的日期選擇器選擇automaticaly日期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'] 
+0

您能否提供樣本鏈接? –

+0

我試過你的配置,它工作正常,如果我在datepicker進入2001的年份寫入「1」,但它不會刪除輸入。 Ckeck http://jsfiddle.net/ZfpQ6/ –

+0

是否可以禁用該功能? –

回答

0

您需要的時候實例化datepicker()功能來指定正確的定位。

請參閱localization documentation and exampledatepicker's API(具體建議使用jquery.ui.datepicker-fr.js)的「本地化」部分。

$(selector).datepicker($.datepicker.regional[ "fr" ]); 

請看到working example of the datepicker() "localized" for France at http://jsfiddle.net/ZfpQ6/4/

+0

不,總是相同的問題.... –

+0

只是FYI(「PVI」,en francais?):這個類似的問題也解決本地化:http://stackoverflow.com/q/11571557/1430996 –

+0

你有沒有包括' jquery.ui.datepicker-fr.js'文件?看到http://jsfiddle.net/ZfpQ6/4/ ...當我在字段中輸入「19/05/1990」時,它會選擇正確的日期... –

0

如果你想防止跳躍到2001年的時候你在今年1型則可以覆蓋插件的行爲重寫功能_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」)。