2012-02-09 21 views
5

Tener esta botones de opción de grupo control horizontal:jQuery Mobile - Estado Cambio botón de radio mediante programación

<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> 

en un punto dado Quiero restablecer los valores de programación utilizando:

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

Sin embargo, el estilo de la botones de radio no cambiados

E.g. se seleccionó MALE, todavía aparece seleccionado.

¿Debo hacer algún tipo de actualización?

Respuesta

17

vistazo a esto:

$('#gender-male').attr("checked",false).checkboxradio("refresh"); 
+3

estoy teniendo un problema similar. Cuando pruebo esta solución, obtengo el siguiente error: Error no detectado: no puedo llamar a los métodos del botón antes de la inicialización; intentó llamar al método 'actualizar'. ¿Alguna idea sobre qué está causando esto? ¿No estoy inicializando los controles correctamente? – Blake

0

Para el jquery mobile 1.4 la solución de trabajo (probado) es la siguiente:

(html tomado de JQM 1,4 código de demostración)

<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> 

Como anteriormente el botón de radio A está marcado. Desea configurar el botón de radio B seleccionado y A establecer como desactivado. Tenga en cuenta: checkboxradio ("refresh") va para cada botón de opción.

Javascript/jQuery (tomado de JQM 1.4 documentación de la API y readaptada)

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"); 
    } 
Cuestiones relacionadas