2

我已经使用带有 Backbone 和 Handlebar 的 Jquery mobile 我有一个选择框,它使用来自 cakephp 的 JSON 数据加载国家列表,HTML 代码是:

<select name="Country" id="Country"  data-native-menu="false">
    <option value="all">All Countries</option>
    {{#each output.countries}}
    <option value="{{Country.id}}" >{{Country.name}}</option>
    {{/each}}
</select>

但问题是列表太大了。因此,当浏览器窗口大小较小时,jquery mobile 会根据以下内容尝试打开新页面: jqm docs

但就我而言,它没有打开页面。我调试了代码,但它给了我 jquery mobile.js version is 1.1.1 in that on line 3414 中的错误

if ( active.url.indexOf( dialogHashKey ) > -1 && !$.mobile.activePage.is( ".ui-dialog" ) ) {
            settings.changeHash = false;
            alreadyThere = true;
        }

这行特定的代码给出了错误:Uncaught TypeError: Cannot call method 'indexOf' of undefined

在这里,我知道 active.url 未定义,因为 urlHistory.getActive() 具有未定义的值,而是应该包含当前 URL。我不知道为什么它是未定义的。有路由问题吗?我在 jqm config 中做了以下设置:

$(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = false; $.mobile.linkBindingEnabled = false; $.mobile.hashListeningEnabled = false; $.mobile.pushStateEnabled = false;});

请帮帮我。

4

0 回答 0