0

次のようなラジオボタンのペアがあります

  <label class="radio inline" for="radios-0">
     <input type="radio" name="newsletter" id="radios-0" value="1" checked="checked">
        Yes
  </label>
  <label class="radio inline" for="radios-1">
     <input type="radio" name="newsletter" id="radios-1" value="0">
        No
  </label>

それらは ajax を介した Post の一部であり、スクリプトは正常に動作します。ラジオ ボタンで [はい] または [いいえ] が選択されているかどうかを確認し、[はい] の場合はメーリング リストに登録する追加の部分があります。ただし、はいまたはいいえが選択されているかどうかに関係なく、リストに表示されます。

同姓同名だからでしょうか?ただし、同じ名前でなくても、両方をチェックできます。

if ($('input:radio[name="newsletter"]').is(':checked') && $('input:radio[name="newsletter"]').val == 1) {
    //add email to newsletter list
}
4

5 に答える 5

3

あなたのセレクターは両方のラジオボタンを返し、それらのいずれかがチェックされているかどうかをチェックします

is() 現在一致している要素のセットをセレクタ、要素、または jQuery オブジェクトに対してチェックし、これらの要素の少なくとも 1 つが指定された引数referenceと一致する場合に true を返します。

id両方のラジオボタンにあるので、ここでセレクターを使用することをお勧めしますid

if($('#radios-0:checked').length)
{

}
于 2013-08-02T13:32:04.297 に答える
0

これを試して:

var radioVal = $("input[name='newsletter']:checked").val();
    if (radioVal == 1) {
        alert("Yes");
    }else{
        alert("NO");
    }  

JSFIDDLE デモ

于 2013-08-02T13:38:59.160 に答える
0
if ($('input:radio[name="newsletter"]:checked').val() == 1 ) {
        //add email to newsletter list
    }

ラジオがチェックされているかどうかを確認するためです。どちらが選択されているかを確認する必要があります。

于 2013-08-02T13:39:47.987 に答える