让datePicker工作以选择多个日期。当用户选择多个日期并关闭日历时,文本框将以以下格式显示日期:
Thur Jan 03 2013 00:00:00 GMT +0000
Fri Jan 03 2013 00:00:00 GMT +0000
Sat Jan 04 2013 00:00:00 GMT +0000,
我的代码:
<script>
$("#HolidayDate").addClass('date-pick');
$('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val();
(
{
createButton: false,
displayClose: true,
closeOnSelect: false,
selectMultiple: true,
}
)
.bind(
'click',
function () {
$(this).dpDisplay();
this.blur();
return false;
}
)
.bind(
'dateSelected',
function (e, selectedDate, $td, state) {
console.log('You ' + (state ? '' : 'un') // wrap
+ 'selected ' + selectedDate);
}
)
.bind(
'dpClosed',
function (e, selectedDates) {
console.log('You closed the date picker and the ' // wrap
+ 'currently selected dates are:');
console.log(selectedDates);
$('#HolidayDate').val( selectedDates );
}
);
</script>
但是我希望日期显示为dd-mm-yy。 如果我使用注释掉的行
$('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val();
and run it as $('.date-pick').datePicker({dateFormat: 'dd-mm-yy'}).val();
文本框将以正确的格式返回日期,但现在它只允许我一次选择一个日期。
请指教?
由于
答案 0 :(得分:2)
尝试使用.bind选择日期格式(Date.format ='dd-mm-yyyy') 并使用select Multiple:true
答案 1 :(得分:1)
因为你留下了选项,说它是一个选择多了。
试
$('.date-pick').datePicker
(
{
createButton: false,
displayClose: true,
closeOnSelect: false,
selectMultiple: true,
dateFormat: 'dd-mm-yy'
}
)
看到我将它添加到您以前的选项中?
修改强>
在阅读了关于此的kelvinlucks文档后,我看到了导致问题的原因。您获得的日期是javascript Date对象而不是字符串。您可以根据需要自由格式化,但在重载方法dateSelected和dpClosed中,它们只是打印而没有格式化。
试试这个:
.bind(
'dateSelected',
function(e, selectedDate, $td, state)
{
var date = selectedDate.getDate() + "-" + (selectedDate.getMonth() + 1) + "-" + selectedDate.getFullYear();
console.log('You ' + (state ? '' : 'un') // wrap
+ 'selected ' + date);
}
)
我的日期格式不是很好,但你明白了。这是关于格式化日期的帖子(http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript)