【发布时间】:2013-10-04 05:13:44
【问题描述】:
我正在为日期选择器 (http://www.eyecon.ro/bootstrap-datepicker/) 使用引导插件。 当您转到上面的链接时,有一个代码示例说明如何制作简单的签入签出表格。在签出日期选择器上,签入日期选择器之前的所有日期都被禁用。
在我的网站上有多个签到结帐表格(适用于多个房间)。每个房间都有一个入住和退房日期选择器(情侣)。所以我认为下面的代码可以做到。
使用页面上找到的所有日期选择器创建一个数组(它可以是可变的)。然后每 2 次循环遍历数组 + 每对应用代码。
if ($('.datepicker').length) {
//get all the datepickers
var IDs = [];
$(".main").find(".datepicker").each(function(){ IDs.push(this.id); });
for(j=0;j<IDs.length;j++){
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var checkin = $('#'+ IDs[j]).datepicker({
onRender: function(date) {
return date.valueOf() < now.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function(ev) {
var newDate = new Date(ev.date)
newDate.setDate(newDate.getDate() + 1);
checkout.setValue(newDate);
checkin.hide();
$('#'+ IDs[j+1])[0].focus();
}).data('datepicker');
var checkout = $('#'+ IDs[j+1]).datepicker({
onRender: function(date) {
return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function(ev) {
checkout.hide();
}).data('datepicker');
j++;
}
}
结果是,如果我在页面上有 2 个日期选择器,则第二个按预期工作。第一个根本没有。如果我在页面上有 1 个日期选择器,它可以工作。
添加警报(ID)时,我会得到一个数组,其中 ID 的顺序正确。
如果有人可以帮助... :) 提前致谢!
【问题讨论】:
标签: twitter-bootstrap datepicker