1

我们有从这样的数据库生成的动态 ID:

<input type="radio" id="brand1" value="1">
<input type="radio" id="brand1" value="2">
----
<input type="radio" id="brand2" value="1">
<input type="radio" id="brand2" value="2">

如何通过单击单选按钮获取/提醒它是哪个 ID?

(我想我的错误在第一行:'input#brand'。)

$('input#brand').live('click',function() { 
    var radiovalue = $('input[name=brand + id]:checked').val()
    alert(radiobuttonID + radiovalue);
});
4

4 回答 4

1
$(document).on('click', 'input[type=radio]' , function() {

     alert('Radio Button ID  is : ' + this.id + ' - Value is : ' + this.value);
})

还要确保您在页面上有唯一的 id。

最好为页面上要处理此事件的所有单选按钮分配一个类。

$(document).on('click', '.myradio' , function() {

         alert('Radio Button ID  is : ' + this.id + ' - Value is : ' + this.value);
    })

这样做将使您的代码更清晰,更易于理解

于 2012-10-05T21:30:29.650 回答
1

使用attribute-starts-with-selector,这将选择所有以 id 开头的输入brand

$('input[id^=brand]').live('click',function() { 
    alert(this.id + ' ' + this.value);
});

同样,从 jQuery 1.7.live()开始,已弃用,请.on()改用。id 也应该是唯一的,在您的标记中,您有多个具有相同 id 的元素。

于 2012-10-05T21:31:53.563 回答
1

你会使用这样的东西来获取 id:

$('input[id^=brand]').live('click',function() {
    alert($(this).attr('id'));
});​

这是为了获得价值:

$('input[id^=brand]').live('click',function() {
    alert($(this).attr('value'));
});​

^=请注意,我们可以在所有以 ( ) "brand"开头的元素上放置一个实时点击处理程序。

JSFiddle

于 2012-10-05T21:33:30.833 回答
0

请更正您的选择器。$('input#brand') 表示您正在寻找具有确切 ID“品牌”的 INPUT。

于 2012-10-05T21:31:27.650 回答