1

目前在我的 JS 中,我静态定义了我想将我的 datepicker 脚本与哪个输入 ID 关联。

像这样:

$('datepicker1').glDatePicker();

然而,为了使这种动态化,我将其重构为一个 for 循环,以便对于需要日期选择器的多个字段,我可以在该循环中调用它们。

dateArray[y] =  "datePicker" + i;
//out of loop scope

for (i = 0; i < dateArray.length; i++)
    {
        $(dateArray[i]).glDatePicker();

    }

它似乎不起作用,我通过将值打印到日志来检查数组中是否有值。

这是 jQuery 的限制吗?

谢谢

4

3 回答 3

3

您需要将其设置为 id"#"

 $("#" + dateArray[i]).glDatePicker();
于 2013-02-08T10:36:39.027 回答
1

我想将我的 datepicker 脚本与哪个输入 ID 关联。

我想你错过了 id 选择器

$('#'+ dateArray[i]).glDatePicker();
---^---here
于 2013-02-08T10:37:47.503 回答
1

最好glDatePicker()通过将所有 id 连接成一个字符串来对 进行一次 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
于 2013-02-08T10:41:07.573 回答