目前在我的JS中我静态地定义了我想要将我的datepicker脚本与之关联的输入ID。
像这样:
$('datepicker1').glDatePicker();
然而为了使这个动态我已经将它重构为for循环,因此对于需要datepicker的多个字段,我可以在该循环中调用它们。
dateArray[y] = "datePicker" + i;
//out of loop scope
for (i = 0; i < dateArray.length; i++)
{
$(dateArray[i]).glDatePicker();
}
它似乎不起作用,我通过将值打印到日志来检查数组中是否有值。
这是jQuery的限制吗?
由于
答案 0 :(得分:3)
您需要将其设为"#"
$("#" + dateArray[i]).glDatePicker();
答案 1 :(得分:1)
我想将我的datepicker脚本与。
相关联的输入ID
我认为你错过了id选择器
$('#'+ dateArray[i]).glDatePicker();
---^---here
答案 2 :(得分:1)
最好通过将所有id连接成一个字符串来对glDatePicker()
进行单个jQuery调用
var allIds = '';
for (i = 0; i < dateArray.length; i++) {
allIds += '#' + dateArray[i] + ',';
}
$(allIds).glDatePicker();
或者甚至更好,将一个班级放到所有这些领域,然后简单地调用
$(".datepicker").glDatePicker();
还有另一个单一的呼叫解决方案(假设你的所有id都以“datePicker”开头):
$('[id^="datePicker"]').glDatePicker(); // selects all elements that have id starting with datePicker