estoy trabajando con jQuery Mobile, y guardar algunas configuraciones en una cookie. Cuando la página de configuración se vuelve a cargar, leo la cookie para establecer todos los valores. Estoy teniendo problemas para configurar la flip toggle switch. La mayoría de los elementos sólo tienen que activar los keyup
o changed
eventos, pero no estoy seguro de cómo las palancas flip toma su valor desde el cuadro de selección. ¿Algunas ideas?Modificar el valor de flip alternar dinámicamente con jQuery Mobile
Respuesta
creo que sólo se puede establecer el valor en el selecto como HTML normal y voltear el interruptor de palanca recogerá automáticamente. es decir,
<select name="slider" id="slider" data-role="slider">
<option value="off">Off</option>
<option value="on" selected="selected">On</option>
</select>
Parece que está roto.
Ir a la página: http://jquerymobile.com/demos/1.0a2/#docs/forms/forms-switch.html y la consola de Firebug uso para ejecutar el siguiente:
$('#slider2').val('on').trigger('keyup');
Cambia el ancho de "en" parte del interruptor, pero no se mueve el deslizador.
Así que la respuesta es: esperar a que la liberación de JQM :)
Bug emitida aquí: https://github.com/jquery/jquery-mobile/issues/issue/676
Usando $('#slider2').val('on')
va a cambiar el valor, ya que se supone que es. Sin embargo, no agrega las clases de CSS como ui-btn-active
al option
, ni elimina esa clase del option
. Si desea cambiar dinámicamente el option
, tendrá que encargarse de esas partes manualmente (no jQuery Mobile).
Después de cambiar el valor del interruptor hay que actualizarla para la animación para alternar:
$('#Switch2').val('on').slider("refresh");
Esto funciona para mí:
if (someCondition) {
$('#slider').val('off');
}
else {
$('#slider').val('on');
}
try {
$('#slider').slider("refresh");
}
catch (err) {
console.log ("Error occurred refreshing slider (probabily first time!)");
}
Una forma sencilla de lograr esto es establecer el valor, desencadenar la creación y actualización. Después que necesita para activar el evento Slidestop para realizar cualquier acción que unido a la barra deslizante. por ejemplo:
$('#mySlider').val('on').trigger('create').slider("refresh");
$('#mySlider').trigger('slidestop');
He probado esto en jQuery mobile ver. 1.3.0
- 1. Mobile Jquery - Efecto Flip
- 2. Alternar texto con jQuery
- 3. jQuery Mobile CSS3 Transiciones de página sin jQuery Mobile Library
- 4. ¿Cómo cambiar el tema dinámicamente en jquery mobile?
- 5. Desactivando el botón JQuery Mobile con JQuery
- 6. Jquery mobile: deshabilita el encabezado y el pie de página fijo "tocar para alternar"
- 7. Páginas dinámicas con jQuery Mobile
- 8. Anexión de elementos dinámicamente a jQuery Mobile ListView
- 9. Animación de un efecto Flip-Down de Rolodex con jQuery
- 10. jquery alternar slideUp/slideDown
- 11. Alternar varias clases de elementos con jQuery
- 12. Modificar el evento onclick con jQuery
- 13. Uso de jQuery .live con el evento de alternar
- 14. Cómo modificar el atributo ROWSPAN con jQuery?
- 15. JQuery - restablecer el estado de alternar
- 16. usando iscroll con jquery mobile
- 17. seleccione la opción Rellenar dinámicamente con jQuery
- 18. jQuery .replaceWith() alternar
- 19. jQuery alternar CSS?
- 20. Modificar ubicación div en Zoom Mobile Safari
- 21. Jquery no alternar trabajo
- 22. Modificar el valor hash predeterminado
- 23. jQuery alternar sobre el mouseover - evitar cola
- 24. jquery mobile data-icon
- 25. cómo modificar una matriz JSON con jQuery
- 26. div Alternar con el alivio al
- 27. Web API ActionFilter Modificar el valor de
- 28. modificar el valor de clave de registro
- 29. jQuery Mobile vs jQuery regulares
- 30. Crear botones dinámicamente con Jquery
Pero usa cookies, por lo que está sucediendo en una página cargada, con javascript. – naugtur