2009-08-26 16 views
2

私はいくつかのラジオボタングループを持つ長いフォームを作成しています。jQueryすべてのラジオボタングループを選択してください

下部に「No All」というラジオボタンがあります。それが選択されると、 "N"ラジオボタンのすべてが選択されるようにしたいのですが、動作させることができません。

のjQuery:ここでは、コードの簡略版である

$(document).ready(function(){ 
//initially hide the Remove All Questions 
$("div.#removeAllquest").hide(); 

//////////// Show Remove All Questions if radio button selected 
$("input.#RemoveAll").click(function() { 
    if ($(this).is(':checked')) 
    $("input:radio [class*='radioR']").attr("checked",true); 
    else 
$("input:radio [class*='radioR']").attr("checked",false); 
}); 

は})。

フォーム:

<table> 
    <tr> 
    <td>Y<input type="radio" name="row1" value="row1col1" class="q123col1"></td> 
    <td>N<input type="radio" name="row1" class="radioR" value="row1col2"></td> 
    <td>M<input type="radio" name="row1" value="row1col3" class="q123col3"></td> 
    </tr> 
    <tr> 
    <td>Y<input type="radio" name="row2" value="row2col1" class="q123col1"></td> 
    <td>N<input type="radio" name="row2" class="radioR" value="row2col2"></td> 
    <td>M<input type="radio" name="row2" value="row2col3" class="q123col3"></td> 
    </tr> 
    <tr> 
    <td>Y<input type="radio" name="row3" value="row3col1" class="q123col1"></td> 
    <td>N<input type="radio" name="row3" class="radioR" value="row3col2"></td> 
    <td>M<input type="radio" name="row3" value="row3col3" class="q123col3"></td> 
    </tr> 
    <tr> 
    <td colspan="2">No All </td> 
    <td> 
     <input name="RemoveAll" id="RemoveAll" type="radio" value="Y"> 
    </td> 
    </tr> 
</table> 

は私が間違って何をしているのですか?

答えて

11

これらの両方がうまくいくはずです。最初のスタイルでは自分のスタイルを維持しようとしました。 2つ目はスタイルを少し変えました。あなたのサンプルでは、​​一度チェックされたら、チェックを外す方法はありません。

$("input.#RemoveAll").click(function() { 
    if ($(this).is(':checked')) 
     $("input:radio.radioR").attr("checked", "checked"); 
    else 
     $("input:radio.radioR").removeAttr("checked"); 
}); 

$("#RemoveAll").click(function() { 
    if ($(this).is(':checked')) 
     $(".radioR").attr("checked", "checked"); 
    else 
     $(".radioR").removeAttr("checked"); 
}); 
+0

アンディさんありがとう!私はあなたの最初のオプションを使用し、それはチャンピオンのように働いた。私はラジオボタンのチェックを外したいと思っています...しかし、これまでにこれを得るにはとても長い時間がかかりました。私はちょっと頭がおかしいと思っていました:) – Chnikki

+0

"checked"属性とにかくラジオボタンの選択は一度に1つしか選択できませんが、コードの残りの部分は良好に見えます。 –

1

私が知っている限り、チェックはXHTMLで有効な値としてチェックされています。 $(「#idは」)のdocument.getElementByIdを呼び出すように、次のようなものがトリック

$("#RemoveAll").change(function() { 
    if ($(this).is(':checked')) 
      $("input:radio.radioR").attr("checked","checked"); 

    else 
      $("input:radio.radioR").removeAttr("checked"); 
    }); 
}); 

注意を行う必要があり、入力要素フィルタを追加するなどの除去のためのセレクタの変更、すべてのラジオボタンは本当に必要はありません。

1

これは、あなたが必要なものを行う必要があります...

$("input.#RemoveAll").click(function() { 

    if ($(this).attr('checked') === "checked"){ 

    $("input:radio[class*='radioR']").attr("checked","checked"); 

    }else{ 

    $("input:radio[class*='radioR']").removeAttr("checked"); 

    } 
}); 

それは、シナンに役立ちます願っています。

関連する問題