jQuery Mobile - программно изменить состояние радиокнопки - PullRequest
8 голосов
/ 09 февраля 2012

Наличие этой кнопки в горизонтальной группе управления:

<div data-role="fieldcontain">
 <fieldset data-role="controlgroup" data-type="horizontal">
   <legend>Geslacht:</legend>
   <input id="gender-male" name="gender" type="radio" value="MALE" />
   <label for="gender-male">Man</label>
   <input id="gender-female" name="gender" type="radio" value="FEMALE" />
   <label for="gender-female">Vrouw</label>
 </fieldset>
</div>

В данный момент я хочу сбросить значения программно, используя:

$('#gender-male').prop('checked', false)
$('#gender-female').prop('checked', false)

Однако стиль переключателей не изменился.

например. Если выбран MALE, он все еще остается выбранным.

Должен ли я сделать какое-нибудь обновление?

Ответы [ 2 ]

18 голосов
/ 09 февраля 2012

Посмотрите на это:

$('#gender-male').attr("checked",false).checkboxradio("refresh");
0 голосов
/ 27 февраля 2014

Для JqueryMobile 1.4 рабочее решение (проверено) выглядит следующим образом:

(html взят из демонстрационного кода JQM 1.4)

<form><fieldset data-role="controlgroup">
    <input type="radio" name="radio-choice-v-2" id="radio-choice-v-2a" value="on" checked="checked">
    <label for="radio-choice-v-2a" style="font-weight: 100;">radio button A</label>
    <input type="radio" name="radio-choice-v-2" id="radio-choice-v-2b" value="off">
    <label for="radio-choice-v-2b" style="font-weight: 100;">radio button B</label>
    </fieldset></form>

Как и выше, переключатель «А» отмечен.Вы хотите установить переключатель B отмеченным, а A установить на непроверенный.Обратите внимание: checkboxradio («обновить») идет для каждой радиокнопки.

Javascript / Jquery (взято из документации API JQM 1.4 и повторно отредактировано)

    if (radioSetting == 0) {

        $( "#radio-choice-v-2b" ).prop( "checked", false ).checkboxradio( "refresh" );
        $( "#radio-choice-v-2a" ).prop( "checked", true ).checkboxradio( "refresh" );
    } 
    else {
        $( "#radio-choice-v-2a" ).prop( "checked", false ).checkboxradio( "refresh" );
        $( "#radio-choice-v-2b" ).prop( "checked", true ).checkboxradio( "refresh" );
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...