1

現在、私の 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の制限ですか?

ありがとう

4

3 に答える 3

3

でIDとして設定する必要があります"#"

 $("#" + dateArray[i]).glDatePicker();
于 2013-02-08T10:36:39.027 に答える
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 に答える
1

datepicker スクリプトを関連付ける入力 ID。

IDセレクターを見逃したと思います

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