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

我的Android / iPad应用程序中有一些jQuery Mobile翻转切换开关,我需要使用JavaScriptdynamic更改它们的状态(开/关)。 我在这里寻找一个解决scheme,( 用jQuery Mobiledynamic改变flip开关的值 ),我尝试了几种方法( .val('on') .slider('enable') …),但似乎控件是根本不工作。

有这个问题的解决scheme吗? 我怎样才能从代码改变翻转开关状态?

Solutions Collecting From Web of "如何从代码更改jquery移动翻转开关状态"

我检查了您发布的网页,并确认解决scheme:

 $('selector').val('value').slider('refresh'); 

确实有效。 确保“select器”引用了你select的元素,而“值”是你在你希望启用的选项元素上定义的值。

我通过访问http://jquerymobile.com/demos/1.0.1/docs/forms/switch/index.html ,然后用萤火虫的控制台input行确认:

 $("#flip-b").val('no').slider('refresh'); 

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

对于JQuery 1.4或更高版本,如果你想dynamic地切换一个翻转开关

 $("#flip").val('on').flipswitch('refresh'); 

确保你的数据angular色翻转开关来完成这个工作。

祝你好运 !

这是否工作:

JS

 var fts = $('#flipMe'); fts.val('on'); fts.slider('refresh'); 

HTML

 <label for="flip-a">Select slider:</label> <select name="slider" id="flipMe" data-role="slider"> <option value="off">Off</option> <option value="on">On</option> </select> 

两种types的翻转开关 ,基于select和基于checkbox 。 要设置基于select的小部件,请使用.val()构造

 $("#myFlip").val("on").flipswitch( "refresh" ) ; 

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

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

 $("#myFlip").prop( "checked", true ).flipswitch( "refresh" ) ; 

真假是真假。 (感谢Jeremy Hill的提示)。

顺便说一句,我尝试了`.flipswitch(“选项”,“检查”,真)结构没有运气。

请注意,还有一个类似于基于select的翻转开关的滑块开关。

@Pizano上面的答案为我工作。

我也有这个问题。 就我而言,我错过了最重要的“.slider('refresh')”

干杯,史蒂夫

我不能让“flipswitch”部分工作,所以把它当作一个普通的checkbox可能适用于你(这是jQuery Mobile 1.4.3):

 $('input[name="my-flipswitch-name"]').prop('checked', true).trigger('click').trigger('change'); 

有两种方法可以制作flipswitches(基于checkbox和基于select的),但只能使用基于select的方法dynamic更改状态。

jquery改变状态:

 $("#mySwitch").val('no').flipswitch('refresh'); 

基于select的方法:

 <select name="mySwitch" id="mySwitch" data-role="flipswitch" > <option value="no">No</option> <option value="yes">Yes</option> </select> 

基于checkbox的:(不能dynamic改变状态)

 <input type="checkbox" id="mySwitch" data-role="flipswitch">