0

继续: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>')
    });
});
4

2 回答 2

2

这不起作用的原因是因为 JavaScript 符合 HTML 规范,而 HTML 规范规定ID 属性必须是唯一的

你不能有两个元素id="price"。因此,JavaScript 将在找到第一个匹配项后停止搜索。.each()无论第一个之后有多少#price元素,您的循环只会循环一次。

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

<div class="price">...</div>
<div class="price">...</div>
<div class="price">...</div>
$('.price').each(function(index,value) { ... });

您还需要更改#log元素以使用类。

于 2013-05-20T14:17:22.713 回答
0

$('#price') is id, page include one duplicate id. you need use class

于 2013-05-20T14:09:48.893 回答