从动态创建的select选项调用时,JQuery Mobile changePage()片状?

时间:2012-01-02 07:57:53

标签: jquery ajax dom jquery-mobile navigation

我有一个带有简单选择菜单的Jquery Mobile页面。

    <div class="selectMenuContainer">
        <div data-role="fieldcontain">
            <label for="selectmenu" class="select">Heroes:</label>
            <select name="selectmenu" id="heroSelectMenu" class="heroSelectMenu" >
                <option value="0">Choose One...</option>
                <option value="Option 1">Option 1</option>
                <option value="Option 2">Option 2</option>
            </select>
        </div>
    </div>

在事件pageinit上,我从选择菜单中使用jQuery来.remove()所有内容,然后我动态添加许多选项。当然,我不会忘记刷新选择菜单。

function populateHeroNames(){
    //populate hero select item
    $('#heroSelectMenu').empty();
    $('#heroSelectMenu').append('<option value="0">Please Choose...</option>');
    for(var i=0;i<heroNameLength;i++){
        if(heroName[i]){
            var currentHeroName = heroName[i];
        }else{continue;}
        $('#heroSelectMenu').append('<option value="'+i+'">'+currentHeroName+'</option>');
    }
    //refresh hero select item
    var heroSelectMenu = $("#heroSelectMenu");
    heroSelectMenu.selectmenu("refresh");
    console.log('heroes added!');
}

我的问题是我无法成功导航到以编程方式创建的选项的其他页面。我可以从硬编码选项中做到这一点。当我点击硬编码选项时,我可以正常使用$.mobile.changePage()。但是从编程创建的选项中,我导航到的页面将消失,然后返回初始页面。

在测试中,当我点击后退按钮时,我实际上是去了我的目的地。所以很明显JqueryM已经导航到了目的地,但后来出于某种原因又回来了。

我怀疑原因是Jquery Mobile的奇怪DOM加载。有什么东西我需要刷新......或者可能会阻止刷新?只需导航到页面......并留在那里吧!

0 个答案:

没有答案
相关问题