2014-02-27 96 views
0

我一直在面對一些問題,關於從相同的ID從相同的按鈕檢索不同的值。從同一個ID檢索不同的值<button>

這是我的HTML代碼。

<button type="button" class="btn btn-primary" id="btnPromote" value="1">Promote</button> 
<button type="button" class="btn btn-primary" id="btnPromote" value="2">Promote</button> 
<button type="button" class="btn btn-primary" id="btnPromote" value="3">Promote</button> 
<button type="button" class="btn btn-primary" id="btnPromote" value="4">Promote</button> 

所以,正如你所看到的,在相同的ID按鈕中有不同的值。

是否有任何方法使用JQuery檢索值而不使用任何for循環?

這是我現在使用的方法。但我發現這不是效率。 因爲它必須首先生成具有不同索引的按鈕,並且還要生成按鈕ID。

成像我有1000個按鈕加載,我的網絡瀏覽器不會響應。 (低規格電腦)

for(var i = 1; i <= 4; i++) { 
    $("btnPromote" + i).click(function() { 
     blah ... 
    }); 
} 

因此,我尋求幫助,尋找一些效率的方法來做到這一點。

謝謝大家。

+7

'id'應該是唯一的 –

+0

這將是一個可怕的看網頁... –

+0

@ PranavCBalan,如果我的ID是唯一的,那麼在我的JQuery中也需要定義我的按鈕的實際數量。 如果我有1000個按鈕怎麼辦? ( – Blackie

回答

3

首先,你應該使用class而不是ID的這一點。然後,你可以用它來簡化代碼:

$(".btnPromote").click(function(event) { 
    // do something with event.target 
}); 

下面是一個展示的jsfiddle這樣的:http://jsfiddle.net/MSB4m/

+0

@J大衛史密斯,非常感謝,我想立即嘗試一下,希望我的問題對你來說不是愚蠢的。:( – Blackie

1

你不能給同一個id的不同對象,使用class而不是id。然後你可以檢索值像

$(".btn-primary").each(function(){ 
alert($(this).val()); 

}); 

你也可以單擊事件綁定與按鈕,

$("body").on("click",".btn-primary",function(){ 
alert($(this).val()); 
}); 
相關問題