0

したがって、非表示の入力内の時間に基づいて、テーブルでカウントダウン スクリプトを実行するページがあります。

各入力には、「id="time_x」の個別の ID があり、x は 1 から増加します。

次に、各 on でタイマーが div に実行されます。

私の質問は、各入力がタイマーを呼び出すjquery関数にidをフィードできるように、入力のリストをループして選択する方法です。

例えば

<input ..... id="time_1" value="1000"/>
<input ..... id="time_2" value="2000" />

すべての入力を選択して値を取得し、それを適切な div に渡すにはどうすればよいですか。

ありがとう

4

5 に答える 5

2

それぞれに新しい要素クラスを使用します。

<input class="item" id="time_1" value="1000"/>
<input class="item" id="time_2" value="2000"/>
<input class="item" id="time_3" value="3000"/>

$.each($('.item'),function(){
 console.log($(this).attr('id')); 
});

または、入力値をキャッチする方が簡単な場合:

$.each($('.item'),function(){
     console.log($(this).attr("value"));
    });
于 2013-04-03T10:34:02.793 に答える
2

これを試して

$('input').each(function(v,i){
    console.log($(this).attr('id'));
});

注:これは、ドキュメント内のすべての入力をループします..ループしたいすべての入力にクラスを与え、そのIDを取得することをお勧めします

于 2013-04-03T10:34:35.100 に答える
1

http://api.jquery.com/attribute-starts-with-selector/$('[id^=time_]')で説明されているように 、そのフォームの ID を持つすべての入力を選択できます。

これらを使用して関数を呼び出すことができ、ループ内から.each()使用して現在の ID を取得できます。this

より具体的な回答を得るには、より具体的な質問をする必要があるかもしれません。

于 2013-04-03T10:36:14.123 に答える
1

jQuery 以外のソリューション:

var inputs = document.getElementsByTagName('input'),
id;

for (var i = 0; i < inputs.length; ++i) {
    id = inputs[i].id;

    if (id.indexOf('time_') == 0) {
        id = id.substr(5);
        // do stuff with id and inputs[i].value
    }
}
于 2013-04-03T10:37:18.730 に答える