2013-04-03 46 views
0

所以我有一个基于隐藏输入内部时间的表中运行倒计时脚本的页面。通过多个项目在页面上的jQuery循环

每个输入具有“ID =” time_x”,其中从1

x增加每个上然后运行计时器到一个div的单独的ID。

我的问题是我怎么循环,并选择通过的输入列表,使得每个输入能够将ID馈送到它调用计时器jquery的功能。

例如

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

如何可以选择THROU gh所有的输入,得到的价值,然后将其传递给正确的divs。

感谢

+0

嗯...什么?你能解释一下这个更好还是张贴一些代码? – melancia

+0

嗯..发表你的代码,以便我们可以理解上下文 – DDK

+4

一个特殊的类比这样的ids更“容易”,但是'$(“[id^= time _]”)each(function(){... });' – Andreas

回答

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")); 
    }); 
2

试试这个

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

注意:这将循环通过所有输入在douments ..它更好地给所有输入你想循环,并得到它的编号

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 
    } 
} 
1

使用 “开始” 选择:

$('input[id^="time"]').each(function() { 
    var value = $(this).val(); //get value 

    //now get right div and inject value 
    $(this).next('div').text(value);  
});