单击链接后增加ID的值

时间:2015-10-16 16:54:11

标签: javascript jquery datepicker

我正在使用日期选择器“开始日期”和“结束日期”,也在我的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将适用于每一行,当我点击添加更多行。现在它只在第一行工作。

我希望你们所有人都能理解并给我一个合适的解决方案。

非常感谢你!

2 个答案:

答案 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({ 
//---- 
});

感谢所有人!