所以我根据隐藏输入内部的时间在表格中运行倒计时脚本。
每个输入的个人ID为“id =”time_x“,其中x从1开始增加。
然后每个on将计时器运行到div。
我的问题是如何循环并选择输入列表,以便每个输入都能够将id提供给调用计时器的jquery函数。
例如
<input ..... id="time_1" value="1000"/>
<input ..... id="time_2" value="2000" />
如何选择所有输入,获取值,然后将其传递给正确的div。
由于
答案 0 :(得分: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"));
});
答案 1 :(得分:2)
试试这个
$('input').each(function(v,i){
console.log($(this).attr('id'));
});
注意:这将循环遍历所有输入中的所有输入..最好为所有要循环的输入提供类并获取其ID
答案 2 :(得分:1)
您可以使用$('[id^=time_]')
.each()
选择具有该表单ID的所有输入
您可以使用this
调用这些函数,然后您可以使用循环内部的{{1}}获取当前ID的ID。
有关更具体的答案,您可能需要提出更具体的问题。
答案 3 :(得分: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
}
}
答案 4 :(得分:1)
使用“开始于”选择器:
$('input[id^="time"]').each(function() {
var value = $(this).val(); //get value
//now get right div and inject value
$(this).next('div').text(value);
});