jQueryMobile中的Flipswitch会出现初始化错误

时间:2015-09-07 15:01:39

标签: javascript jquery jquery-mobile

我的html页脚中有一个滑块。

<div data-role="footer" data-position="fixed"> 
    <div class="ui-grid-a">
        <div class="ui-block-a">
            <div class="ui-bar">
                <div data-role="fieldcontain">
                    <label for="flip_repair">Repair Mode:</label>
                    <select id="flip_repair" name="flip_repair" data-role="slider" onchange="flip_repair_onchange(this.value)">
                        <option value="off" selected>Off</option>
                        <option value="on">On</option>
                    </select>
                </div>
            </div>
        </div>
        <div class="ui-block-b">
            <div class="ui-bar">&nbsp;</div>
        </div>
    </div>
</div>

每次我想通过代码操作它时,我都会收到以下错误:

Error: cannot call methods on flipswitch prior to initialization; attempted to call method 'refresh'

我检查过其他帖子,因为它看起来很常见。他们建议在使用JQM时使用document.pageinit而不是document.ready。我将该更改应用于我的html,但我仍然收到错误:

$(document).on('pageinit', function() {
    $('#flip_repair').prop('checked', true)
    .flipswitch('refresh');
});

1 个答案:

答案 0 :(得分:0)

看起来初始化它意味着在开头给出一个默认值:

$("#flip_repair").prop("selectedIndex", 0); 
$("#flip_repair").slider("refresh");

然后,它就像一个魅力。