JQuery Mobile:selectmenu()和selectmenu(' refresh')创建嵌套选择

时间:2014-06-25 16:47:42

标签: javascript jquery jquery-mobile

我在jQuery移动选择和动态数据方面遇到了很多问题。我想要一个我可以启用和禁用并动态填充的选择。

<select id="selectMobileMenu" onchange="functionMobile()" style="width: 100%" class="mobileSelect"></select>

问题是,当我第一次禁用按钮以防止错误时:Uncaught Error: cannot call methods on selectmenu prior to initialization; attempted to call method 'refresh'我在select中获得了2个嵌套选择。

        selectMobile = $('[id=*selectMobileMenu]');
        //Ensure the candidateListBox is defined
        if (selectMobile.data("mobile-selectmenu") === undefined) {
            // not initialized yet, lets do so
            selectMobile.selectmenu('refresh');  //<--- Creates nested select
        }
        selectMobile.selectmenu();  //<--- Creates nested select
        selectMobile.selectmenu('disable');

似乎每当我致电selectmenu()selectmenu('refresh')时,我都会收到嵌套选择,这是有问题的,因为我需要调用selectmenu()selectmenu('refresh')。我可以尝试删除所有的'ui-disable`类(它们适用于某些控制器,但不适用于其他控制器),但我觉得这样会使一个令人难以置信的脆弱控制更加如此。

想法?

1 个答案:

答案 0 :(得分:0)

这最终为我工作:

selectMobile = $('select#selectMobileMenu');

if (selectMobile.data("mobile-selectmenu") === undefined) {
    selectMobile.selectmenu('refresh'); 
}
selectMobile.selectmenu();  
selectMobile.selectmenu('disable');