0

我需要获取使用纯 javascript ( No JQuery ) 检查哪个单选按钮,而无需遍历每个输入元素并检查每个输入元素的 'checked' 属性。

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 解决方案也将不胜感激 :)”

好的,使用: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 回答