我正在使用日期选择器“开始日期”和“结束日期”,也在我的php页面中我使用“添加更多字段”,我想,当我点击添加更多它还应该增加日期id,下面是代码,它会给你更好的想法。
<script>
if (top.location != location) {
top.location.href = document.location.href ;
}
$(function(){
window.prettyPrint && prettyPrint();
//禁用日期 var nowTemp = new Date(); var now = new Date(nowTemp.getFullYear(),nowTemp.getMonth(),nowTemp.getDate(),0,0,0,0);
var value = 1;
value++;
var checkin = $('#dpd1').html(value).datepicker({
onRender: function(date) {
return date.valueOf() < now.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function(ev) {
if (ev.date.valueOf() > checkout.date.valueOf()) {
var newDate = new Date(ev.date)
newDate.setDate(newDate.getDate() + 1);
checkout.setValue(newDate);
}
checkin.hide();
$('#dpd2').html(value)[0].focus();
}).data('datepicker');
var checkout = $('#dpd2').html(value).datepicker({
onRender: function(date) {
return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function(ev) {
checkout.hide();
}).data('datepicker');
});
</script>
这是我在页面页脚中的代码,现在点击“添加更多行”时我想要的..代码在下面..
<table><tr><td><a href="#" title="" class="add-touring">Add more row...</a></td></tr></table>
它应该添加1,2,3 ....我点击“添加更多行”的次数。我的意思是它应该像“#dpd1”一样工作#dpd12,#dpd13,#dpd14 ......等等。
实际上当我点击“添加更多行”时...它在第1行下面添加了一个新行,如果我再次点击再添加另一行,那么它就像我的第一个“开始日期”ID是id一样=“dpd1”,结束日期id为id =“dpd2”,它变为第二行开始日期id =“dpd12”和结束日期id =“dpd22”,第三行变为开始日期id =“dpd13”并结束date id =“dpd23”....当我点击添加更多行时,它正在发生,在javascript中它仍然只用于开始日期id =“dpd1”和结束日期id =“dpd2”,这就是为什么它不能用于第二行和第三行等等,因为你可以在我的jscript中看到它,我想要的是我的行工作以及开始日期和结束日期在id中增加/添加值,当我点击“添加更多行”时也是如此它也在我的javascript中添加相同的方式,然后我的datepicker将适用于每一行,当我点击添加更多行。现在它只在第一行工作。
我希望你们所有人都能理解并给我一个合适的解决方案。
非常感谢你!
答案 0 :(得分:0)
如果我理解你的问题,你实际上并没有尝试更改特定元素的ID,但是你试图增加SELECTOR以便它选择适当的元素。那是对的吗?
如果是这种情况,您可以在选择器中使用变量。而不是做:
$("#dpd2").html(value).focus();
您可以执行以下操作:
var currentDatePickerID = 0;
每次单击按钮时都会增加它,然后您的选择器将如下所示:
$("#dpd" + currentDatePickerID).html(value).focus();
这样你的选择器就是动态的。
答案 1 :(得分:0)
这是我在我的脚本中实现的解决方案..
var counterTouring = 1;
$('.add-touring').click(function(event){
event.preventDefault();
counterTouring++;
var checkin = $('#dpd1' + counterTouring).html(value).datepicker({
//----
});
感谢所有人!