在没有循环的情况下获取组中单选按钮的输入值

时间:2012-12-06 05:26:52

标签: javascript html domdocument

我需要获取使用普通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 个答案:

答案 0 :(得分:4)

  

“PS:Jquery解决方案也将受到赞赏:)”

好的,请使用:checked selector

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/

答案 1 :(得分:1)

获取当前选中的单选按钮

$("input[@name=radioname]:checked")

答案 2 :(得分:0)

我猜你只是在reportLayout中使用无线电盒:

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

会这样做;

答案 3 :(得分:0)

var check = $('input[name:layout]:checked').val();
alert(check);

这将为您提供当前选中的单选按钮的值。

您还可以通过

检查是否选中了任何单选按钮
var check = $("input[name:layout]:checked").length;
alert(check);