Как проверить переключатель в jquery новой версии 1.7.1? - PullRequest
1 голос
/ 14 марта 2012
<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 mobile в режиме RAW HTML. Проверка переключателей работала в jquery 1.6.4, а в 1.7.1 - не работала

Ответы [ 3 ]

4 голосов
/ 14 марта 2012

Попробуйте это:

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

Тогда оформить заказ http://api.jquery.com/prop/

0 голосов
/ 14 марта 2012

Если это не простая проблема с форматированием (там есть дополнительная цитата), я бы предположил, что атрибуту checked не присвоено значение. Это все еще допустимый HTML, но он может бросить рывок в jQuery.

К счастью, для вашего теста есть довольно простой обходной путь. Просто используйте псевдокласс :checked следующим образом:

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

Это вернет логическое значение (true, если оно отмечено, и false, если нет), так что вы можете использовать его как оператор.

0 голосов
/ 14 марта 2012
$('#check').attr('checked'); 

проблема с кавычками .. я не вижу других проблем с совместимостью ..

Вы также пытаетесь $('#check').is(':checked')

...