2

我想设置 jQuery Mobile 翻转开关的选定值:

<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');

“无法在初始化之前调用翻转开关上的方法”

我也试过:

$("#quote").val('nee').slider().flipswitch('refresh');
$("#quote").val('nee').flipswitch().flipswitch('refresh');

我怎样才能做到这一点?

4

2 回答 2

0

有问题的 HTML 已经以编程方式注入。或者 HTML 被隐藏,例如,在选项卡中,因此从未被 jQuery Mobile 初始化。

在之前至少调用一次refresh()

$("#quote").enhanceWithin();

您可以根据需要增强尽可能大的代码块:

$("#huge-html-content").enhanceWithin();
于 2020-10-30T04:33:53.467 回答
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 );

:) 对不起博特;只是在记事本上为你打出来的,它没有经过测试。. . 但应该做的伎俩(或至少在所需的方向)。

于 2019-06-04T07:10:28.617 回答