我有一个datepicker函数:
$(document).ready(function () {
$("#StartDate").datepicker({
dateFormat: 'mm/dd/yy',
changeMonth: true,
changeYear: true,
minDate: '',
maxDate: '',
onSelect: function (date) {
var selectedDate = new Date(date);
var endDate = new Date(selectedDate.getTime());
fun();
$("#EndDate").datepicker("option", "minDate", endDate);
$("#EndDate").datepicker("option", "maxDate");
}
}).css('vertical-align', 'top');
});
上面的代码工作正常。但是,如果我将代码置于文本框中,则单击事件,例如
$(document).ready(function () {
$("#StartDate").click(function(){
$(this).datepicker({
//and the rest......
});
})//click
})//ready
然后它不起作用。我究竟做错了什么?我需要在单击文本框时在onSelect
datepicker
属性中执行某些功能,然后显示日期选择器。提前谢谢。
答案 0 :(得分:3)
您不需要做任何事情来格式化日期。 DatePicker小部件为您完成。只需使用altField
和altFormat
属性:
演示:JSfiddle
$("#myDatePicker").datepicker({
// The hidden field to receive the date
altField: "#dateHidden",
// The format you want
altFormat: "yy-mm-dd",
// The format the user actually sees
dateFormat: "dd/mm/yy",
onSelect: function (date) {
// Your CSS changes, just in case you still need them
$('a.ui-state-default').removeClass('ui-state-highlight');
$(this).addClass('ui-state-highlight');
}
});
答案 1 :(得分:0)
这不是datepicker的工作方式。继续使用此绑定:
$("#StartDate").datepicker({ });
试试这个:
$("#StartDate").datepicker({
//etc,
beforeOpen: function(){
//do your checking here
},
onClose: function(){
//just to show another option
}
});