2013-05-20 87 views
0

無法繼續運行的行動:https://stackoverflow.com/questions/16649933/jquery-on-form-change-with-bootstrap-sliders/16650319?noredirect=1jQuery的:每次更改

我目前使用下面的捕捉滑塊的ID,改變#log的內容。這個問題就是隻捕獲第一個滑塊。我需要在任何滑塊更改時執行此操作。

我試過在我所有的滑塊上使用價格的ID,但是這不起作用。

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

在多個元素上使用相同的ID是一個壞的想法。改爲使用班級。 – techfoobar

+2

不僅是一個壞主意,它違反了html規範。改用類名。 –

+2

我已經在那裏說過同樣的東西。他在小時內發佈了同樣的問題 – PSR

回答

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元素使用類了。

0

$('#price')是id,頁面包含一個重複的id。你需要使用類

+0

爲什麼要投票?這是html standarts .. –