2015-06-04 41 views
0

我正在使用jQuery UI的日期選擇器。 我只是想將日期格式設置是這樣的: 「DD/MM/YY」,所以我的JavaScript是:設置jquery ui datepicker的dateFormat限制輸入中的自由文本

$("#datepicker").datepicker({ 
    dateFormat: "dd/mm/yy" 
}); 

及相關的HTML是:

<input type='text' id='datepicker'> 

但是,這樣做限制可以輸入到輸入元素中的文本(例如,我不能輸入「 - 」或「。」)。

http://jsfiddle.net/5sVpA/3/

,因爲我希望用戶能夠自由地還與其他一些「日期定界」選項輸入自己的日期我需要這個功能(例如:「16年5月5日」)。這是不可能的,因爲在指定「dateFormat」選項後不能輸入「 - 」符號。

有沒有辦法解決這個問題還是一個錯誤?

回答

0

我找到了答案。 有一個「constrainInput」選項必須設置爲false。 所以:

$("#datepicker").datepicker({ 
    dateFormat: "dd/mm/yy", 
    constrainInput: false 
}); 
0

你可以做這樣的事情,你需要在parseDate方法

$.datepicker.inputFormats = ["dd-mm-yy", "dd/mm/yy", "dd mm yy"];//list formats to be accepted here 

$.datepicker.originalParseDate = $.datepicker.parseDate; 

$.datepicker.parseDate = function (format, value, settings) { 
var date; 

function testParse(format, value, settings) { 
    if (! date) { 
     try { 
      date = $.datepicker.originalParseDate(format, value, settings); 
     } catch (Error) { 
     } 
    } 
} 

testParse(format, value, settings); 
for(var n = 0, stop = $.datepicker.inputFormats ? $.datepicker.inputFormats.length : 0; n < stop; n++){ 
    testParse($.datepicker.inputFormats[n], value, settings); 
}; 
return date; 
}; 

上面的代碼是從這裏https://stackoverflow.com/a/18839641/4810628

0

我得到了您的文章的解決方案,以指定格式。

試試這個代碼。

$('#txtDatePicker').datepicker({ 
    dateFormat: 'dd-mm-y' 
}); 
+0

你不明白我的問題。我希望在文本字段中可以自由地輸入各種符號(例如:可以手動輸入所有格式:「5-5-16」,「5/5/16」,「5.5.15」)作爲以及datepicker輸出格式「dd/mm/yy」 – theyuv

+0

ohhh我的上帝,請嘗試下面的代碼,它可能會幫助你,$('#txtDatePicker')。datepicker({dateFormat:'dd/mm/yy',constrainInput:false //允許手動輸入日期}); 請在下面的網址找到更多。 http://stackoverflow.com/questions/5868843/jquery-datepicker-date-manual-input –

相關問題