4

配列表記のラジオボタングループにjqueryセレクターを使用したい

私はこのようなラジオボタンを持っています

<input name="show[]" type="radio" value="1" /> Show<br>
<input name="show[]" type="radio" value="0" /> Hide<br>

上記にjqueryセレクターを使用したいので、次のことを試しました

$("input:radio[name=show[]]").click(function(){
    alert(this.value)
})

動作していません

ラジオボタンのname属性にshow[]の代わりにshowのように指定できることはわかっています

それでもIEには問題があったので、配列表記を使用することですべてのブラウザーで機能しました。

今、私は自分がしたことのように伝えたいのですが、それは可能ですか、それとも配列表記を含めるのは別の構文ですか?

4

3 に答える 3

11

セレクターの角かっこをエスケープする必要があります。

$("input:radio[name=show\\[\\]]").click(function(){
    alert(this.value)
})

James Allardiceが述べたように、あいまいさを防ぐために、属性自体を引用符で囲むこともできます。

$("input:radio[name='show[]']").click(function(){
    alert(this.value)
})

さらに良いことに、クラスを使用します。

于 2012-10-31T15:21:05.460 に答える
1

角かっこは次のようにエスケープする必要があります\\

$('input:radio[name=show\\[\\]]').on('click', function(){
    alert(this.value)
})​;​

読みやすくするために、名前セレクターを引用符で囲むこともできます。

$('input:radio[name="show[]"]').on('click', function(){
    alert(this.value)
})​;​
于 2012-10-31T15:24:25.740 に答える
1

セレクター内でエスケープする必要が[あります。]

ライブデモ

$("input:radio[name=show\\[\\]]").click(function(){
    alert(this.value)
})​
于 2012-10-31T15:22:20.157 に答える