如何从代码中更改jquery移动翻转开关状态

Gab*_*dez 16 javascript jquery android jquery-mobile

我的Android/iPad应用程序上有一些jQuery Mobile翻转切换开关,我需要使用JavaScript动态更改其状态(开/关).我在这里寻找一个解决方案,(用jQuery Mobile动态更改翻转切换的值)我尝试了几种方式(.val('on'),.slider('enable')...)但似乎控制根本不起作用.

这个问题有解决方案吗?如何从代码中更改翻转开关状态?

Piz*_*ano 26

我检查了你发布的页面,我确认了解决方案:

$('selector').val('value').slider('refresh');
Run Code Online (Sandbox Code Playgroud)

确实有效.确保'selector'引用了select元素,并且'value'是您在要启用的选项元素上定义的值.

我通过访问http://jquerymobile.com/demos/1.0.1/docs/forms/switch/index.html确认了这一点,然后使用firebug的控制台进入该行:

$("#flip-b").val('no').slider('refresh');
Run Code Online (Sandbox Code Playgroud)

它将页面上显示的第二个滑块从yes切换为no.


小智 5

对于JQuery 1.4或更高版本,如果要动态切换翻转开关

$("#flip").val('on').flipswitch('refresh');
Run Code Online (Sandbox Code Playgroud)

确保您的数据角色翻转切换以使其工作.

祝好运 !

  • data-role ="flipswitch"(无连字符) (4认同)

小智 5

翻转开关两种类型,基于选择和基于复选框。要设置基于选择的窗口小部件,请使用.val()构造

$("#myFlip").val("on").flipswitch( "refresh" ) ;
Run Code Online (Sandbox Code Playgroud)

其中“ on”是select元素中的选项值之一。

要设置基于复选框的小部件,请使用.prop()构造

$("#myFlip").prop( "checked", true ).flipswitch( "refresh" ) ;
Run Code Online (Sandbox Code Playgroud)

其中true是true或false。(感谢杰里米·希尔的提示)。

顺便说一句,我尝试了没有运气的`.flipswitch(“ option”,“ checked”,true)结构。

注意,还有一个类似于基于选择的翻页开关的滑块开关。