这里是代码和预览>> http://jsfiddle.net/shingou/PGFxZ/
你可以看到我已经使用了jquery mobile和jquery datebox插件。 我在这里有一个代码来区分这些日期。
function parseDate(str) {
var mdy = str.split('/')
return new Date(mdy[2], mdy[0]-1, mdy[1]);
}
function daydiff(checkinDate, checkoutDate) {
return (checkoutDate-checkinDate)/(1000*60*60*24)
}
$('#checkoutDate, #checkinDate').live('change', function() {
$('#numNights').each(function() {
$(this).text(daydiff(parseDate($('#checkinDate').val()), parseDate($('#checkoutDate').val())));
});
});
显然,如果我们在这里更改日期格式。
jQuery.extend(jQuery.mobile.datebox.prototype.options, {
'dateFormat': 'mm/dd/YYYY',
'headerFormat': 'mm/dd/YYYY',
});
例如我们这样做:
jQuery.extend(jQuery.mobile.datebox.prototype.options, {
'dateFormat': 'ddd, dd mmm YYYY',
'headerFormat': 'ddd, dd mmm YYYY',
});
范围日期之间的差异将导致NaN。
任何有关此问题的解决方案都非常有用,提前谢谢。
答案 0 :(得分:2)
Datebox有一个.data('datebox').theDate
函数可以从输入中获取日期,因此您无需解析它。
我相应地修改了你的小提琴http://jsfiddle.net/PGFxZ/3/