Jquery:每次更改的操作

时间:2013-05-20 14:07:48

标签: javascript jquery

继续:https://stackoverflow.com/questions/16649933/jquery-on-form-change-with-bootstrap-sliders/16650319?noredirect=1

我目前正在使用以下内容来捕获滑块的ID并更改#log的内容。这个问题是只捕获第一个滑块。我需要在更改任何滑块时执行此操作。

我已尝试在所有滑块上使用价格ID,但这不起作用。

$('#price').each(function(index,value){
    $(this).bind('slide', function(){
        $("#log").prepend('<p>Changed</p>')
    });
});

2 个答案:

答案 0 :(得分:2)

这不起作用的原因是因为JavaScript符合HTML规范,HTML规范声明 ID attributes must be unique

您不得拥有id="price"的两个元素。因为这个JavaScript会在找到第一个匹配后停止搜索。无论第一个.each()元素存在多少#price元素,您的<div class="price">...</div> <div class="price">...</div> <div class="price">...</div> 循环只会出现一次。

要解决此问题,请改用类。例如:

$('.price').each(function(index,value) { ... });
#log

您还需要更改{{1}}元素以使用类。

答案 1 :(得分:0)

$('#price')是id,页面包含一个重复ID。你需要使用类