0

各入力要素をループしたり、それぞれの「checked」属性をチェックしたりせずに、プレーンなjavascript(JQueryなし)を使用してチェックされているラジオボタンを取得する必要があります。

PS:Jqueryソリューションもいただければ幸いです:)

与えられたHTML:

      <tr id = "reportLayout">
         <th align="left" style="padding-right: 10px">Layout</th>
            <td>
             <input type="radio" name="layout" value="portrait">Portrait</input>                                                            
             <input type="radio" name="layout" value="landscape">Landscape</input>
            </td>
      </tr>
4

4 に答える 4

4

「PS:Jqueryソリューションもいただければ幸いです:)」

OK、:checkedセレクターを使用します:

var checkedRB = $('input[type="radio"][name="layout"]:checked');

チェックされたラジオの値は次のようになります。

checkedRB.val();

jQueryなしでそれを行うための「標準的な」方法はループを使用することですが、IE <9を気にしない場合は、これを行うこともできます。

var checkedRB = document.querySelectorAll(
                     'input[type="radio"][name="layout"]:checked');
if (checkedRB.length === 0) {
    // none checked
} else {
    alert(checkedRB[0].value);
}

デモ: http: //jsfiddle.net/xHAwX/1/

于 2012-12-06T05:30:15.987 に答える
1

現在チェックされているラジオボタンを取得するには

$("input[@name=radioname]:checked")
于 2012-12-06T05:29:36.880 に答える
0

reportLayoutでラジオボックスのみを使用していると思います。

$('#reportLayout').find(':checked')

それを行います。

于 2012-12-06T05:33:50.837 に答える
0
var check = $('input[name:layout]:checked').val();
alert(check);

これにより、現在チェックされているラジオボタンの値がわかります。

ラジオボタンがチェックされているかどうかを確認することもできます。

var check = $("input[name:layout]:checked").length;
alert(check);
于 2012-12-06T07:22:39.830 に答える