如何检查jquery新版本1.7.1中的单选按钮?

时间:2012-03-14 04:50:26

标签: jquery jquery-mobile attributes jquery-1.7

<ul data-role='listview' data-inset='true' data-divider-theme='b'>
    <li data-role='list-divider'>
        <label>Radio Button</label>
    </li>
    <li data-theme='c'>
        <fieldset data-role='controlgroup'>
            <input id='radio1' type='radio' name='Delete' />
            <label for='radio1'>Radio 1</label>
            <input id='radio2' type='radio' name='Delete' />
            <label for='radio2'>Radio 2</label>
        </fieldset>
    </li>
</ul>
<div data-role='navbar'>
    <ul data-inset='true'>
        <li><a data-role='button' href='#' id='delete' data-icon='check'>Ok</a></li>
        <li><a data-role='button' href='#' id='Cancel' data-icon='delete'>Cancel</a></li>
    </ul>
</div>

$("input[type='radio']").checkboxradio("refresh");
var radTrn = $("#radio1").attr('checked');//here it is coming as undefined
var radRstAl = $("#radio2").attr('checked');//here it is coming as undefined    

我使用jquery移动简单对话框RAW HTML模式。单选按钮检查工作在jquery 1.6.4和1.7.1中它无法正常工作

3 个答案:

答案 0 :(得分:4)

试试这个:

$('#check').prop('checked');

然后结帐http://api.jquery.com/prop/

答案 1 :(得分:0)

$('#check').attr('checked'); 

引号问题..我没有看到任何其他兼容性问题..

您还可以尝试$('#check').is(':checked')

答案 2 :(得分:0)

如果它不是一个简单的格式化问题(你有一个额外的引用),我猜测checked属性没有分配值。这仍然是有效的HTML,但它可能会给jQuery的齿轮带来麻烦。

幸运的是,您的测试有一个相当简单的解决方法。只需使用:checked伪类,如下所示:

var isChecked = $('#check').is(':checked');

这将返回一个布尔值(如果选中则true,如果没有则返回false),因此您可以将其用作运算符。