Как установить флажок динамически - jQuery Mobile
С HTML флажок создается следующим образом:
<form>
<input type="checkbox" id="category1">Category1<br>
</form>
С javascript мы можем установить флажок так:
$("#category1")[0].checked = true
Сейчас я пытаюсь создать ту же страницу с помощью jquery-mobile. Флажок выглядит так:
<form>
<label>
<input name="checkbox-0 " type="checkbox">Check me
</label>
</form>
Почему нет id
Вот? Это имя id
? Должен ли я удалить имя атрибута и создать его с именем id
?
Как я могу проверить этот флажок здесь с Javascript/jQuery?
Я попробовал приведенный выше код, но он не работает для этого флажка.
4 ответа
Вам нужно обновить его после изменения .prop
, с помощью .checkboxradio('refresh')
, Это правильный способ поставить галочку / радио в jQuery Mobile.
$('.selector').prop('checked', true).checkboxradio('refresh');
Ссылка: jQuery Mobile API
Ты можешь сделать:
$('input[name="checkbox-0"]').prop("checked", true).checkboxradio('refresh'); //sets the checkbox
var isChecked = $('input[name="checkbox-0"]').prop("checked"); //gets the status
Прямо из документов JQ Mobile:
$("input[type='checkbox']").attr("checked",true);
С решением от @Omar я получаю ошибку:
Неперехваченная ошибка: невозможно вызвать методы на флажке радио до инициализации; попытался вызвать метод "обновить"
На самом деле у меня был флажок переключателя:
<div class="some-checkbox-area">
<input type="checkbox" data-role="flipswitch" name="flip-checkbox-lesson-complete"
data-on-text="Complete" data-off-text="Incomplete" data-wrapper-class="custom-size-flipswitch">
</div>
и нашел решение:
$("div.ui-page-active div.some-checkbox-area div.ui-flipswitch input[type=checkbox]").attr("checked", true).flipswitch( "refresh" )
Заметки
- Я обычно не указываю идентификаторы для содержимого страницы, поскольку jQuery Mobile загружает несколько
div.ui-page
содержимое на единую HTML-страницу для повышения производительности. Поэтому я никогда толком не понимал, как я могу использоватьid
если это может произойти более одного раза в HTMLbody
(может кто это прояснит). - Если я использую
prop
скорее, чемattr
переключатель переходит в бесконечный цикл переключения! Я больше не расследовал ...