从相同的<button> </button>中检索不同的值

时间:2014-02-27 03:00:12

标签: jquery html5

我一直面临一些问题,即从具有相同ID的相同按钮中检索不同的值。

这是我的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 ...
    });
}

因此,我寻求帮助并寻找一些有效的方法来实现它。

谢谢大家。

2 个答案:

答案 0 :(得分:3)

首先,你应该使用class而不是id。然后,您可以使用它来简化代码:

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

这是一个JSFiddle,展示了这个:http://jsfiddle.net/MSB4m/

答案 1 :(得分:1)

你不能为不同的对象提供相同的id,使用class而不是id。然后你可以检索像

这样的值
$(".btn-primary").each(function(){
alert($(this).val());

});

您还可以使用

绑定按钮的click事件
$("body").on("click",".btn-primary",function(){
 alert($(this).val());
 });