我想设置jQuery Mobile flipswitch的选定值:
<select id="quote" data-role="flipswitch" data-theme="b">
<option value="nee">Nee</option>
<option value="ja">Ja</option>
</select>
执行以下操作时出现错误:
$("#quote").val('nee').flipswitch('refresh');
“无法在初始化之前调用flipswitch上的方法”
我也尝试过:
$("#quote").val('nee').slider().flipswitch('refresh');
$("#quote").val('nee').flipswitch().flipswitch('refresh');
我怎样才能做到这一点?
答案 0 :(得分:0)
/**
* UI Behaviour,
* Toggle switches.
* @param {bool} isOn || isOff
* @access public
*/
function updateUiSwitches( el, isOn ) {
el.find( 'input[type=checkbox]' ).each(function( index, el ) {
$( el ).flipswitch().prop( 'checked', ( isOn )? true : false ).flipswitch( 'refresh' );
});
}
// toggle switch on
updateUiSwitches( $( '#quote' ), true );
:) 对不起,Boet;只是把它砸在记事本上,没有经过测试。 。 。 但应该可以解决问题(或至少在期望的方向进行操作)。
答案 1 :(得分:0)
所讨论的HTML要么已通过编程方式注入。或者,例如,HTML被隐藏在选项卡中,因此不要由jQuery Mobile初始化。
在refresh()
之前至少调用一次:
$("#quote").enhanceWithin();
您可以根据需要增强最大的代码块:
$("#huge-html-content").enhanceWithin();