我有一個頁面上有一個JQuery日期選擇器,用於顯示日/月/年格式。我沒有編寫最初的JQuery,我對它並不是很熟悉,所以這可能是一個簡單的問題,但是當用戶單擊「完成」按鈕時,datepicker會消失一秒鐘,然後打開備份,就好像用戶點擊了一樣再次在文本框中。JQuery DatePicker關閉行爲
用於實例的日期選擇器的代碼是:
$(function() {
$('.datepicker').datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'mm/yy',
onClose: function(dateText, inst) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
},
beforeShow: function(input, inst) {
if ((datestr = $(this).val()).length > 0) {
year = datestr.substring(datestr.length - 4, datestr.length);
//month = jQuery.inArray(datestr.substring(0, datestr.length - 5), $(this).datepicker('option', 'monthNames'));
month = datestr.substring(0, datestr.length - 5);
$(this).datepicker('option', 'defaultDate', new Date(year, month-1, 1));
$(this).datepicker('setDate', new Date(year, month-1, 1));
}
}
});
$("#datepicker").mousedown(function() {
$('#ui-datepicker-div').toggle();
});
});
Google上搜尋了一段時間後,我加入了鼠標按下處理程序,因此,當你從日期選擇器在頁面上任意位置單擊消失,那麼它,使得它如預期的那樣關閉,但如果您單擊完成按鈕,它實際上不會關閉日期選擇器。
當你說「當用戶點擊'完成'按鈕時,datepicker會消失一秒鐘,然後再次打開,就好像用戶再次點擊文本框一樣」是錯誤還是預期行爲? –
這就是錯誤。我假設用戶點擊完成後,日期選擇器的目的是將文本框設置爲他們選擇的日期,並使日期選擇器消失,以便用戶可以看到其餘的控件以輸入任何其他信息這是必需的。 –
這似乎只是IE中的一個問題。鉻和FF都按預期行事。 –