我正在使用jquery datepicker,我有一个选项框,其中包含信息,具体取决于它是什么日子。
工作得很完美......
$('#bydate').datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
beforeShowDay: unavailable,
minDate: -0,
dateFormat: "dd/mm/yy",
onSelect: function(e) {
var date = new Date(e);
var day = date.getDay(); // 0 = sunday etc...
// clean all the options
$("#duration").empty();
// if monday
if (day === 1) {
// add "5 days" options
$("#duration").append("<option value='5'>5 days</option>");
// else if friday
} else if (day === 5) {
// add 3 / 7 / 14 days options
$("#duration").append("<option value='3'>3 days</option>"
+ "<option value='7'>7 days</option>"
+ "<option value='14'>14 days</option>");
} else { // else...
}
}
直到我需要将格式从mm / dd / yy更改为dd / mm / yy。
现在它不起作用,看起来getDay正在获取月份数并尝试计算日期数...
我需要约会知道它的dd / mm / yy或getDay知道我使用的是dd / mm / yy
答案 0 :(得分:1)
问题是您更改了datepicker显示日期的方式,但没有更改构造函数Date()的格式。你可以这样做:
onSelect: function(e) {
e = e.split('/')[1] + '/' + e.split('/')[0] + '/' + e.split('/')[2];
var date = new Date(e);
...
答案 1 :(得分:0)
您还可以使用datepicker的parseDate函数,该函数将日期格式作为参数。有关详细信息,请参阅http://docs.jquery.com/UI/Datepicker/parseDate