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 があることを確認してください。

このイベントを処理するページ上のすべてのラジオ ボタンに 1 つのクラスを割り当てることをお勧めします。

$(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 "brand" を持つ INPUT を探していることを意味します。

于 2012-10-05T21:31:27.650 に答える