0

在我的示例中调用 changePage() 后,Javascript 不起作用。第一个请求页面后一切都很好,但是当我尝试选择其他项目时,changePage() 不起作用。'pageshow' 事件对我没有帮助。我怎么了?

我的简单例子:

@model TestMobileSearch.Models.ListModelView

@{
    ViewBag.Title = "List";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<script>
    $(document).delegate("#main", "pageinit", function () {
        $("#filterCategory").bind('change', function () {
            $.mobile.changePage(this.value);
        });
    });

</script>

Category Name: @Model.CurrentName


<select id="filterCategory" data-theme="c" data-corners="false">
    @foreach (var item in Model.Names)
    {
        <option value="@Url.Action("List", "Cat", new {name = item})">@item</option>
    }
</select>

我使用 jquery.mobile-1.3.1.js

谢谢

4

1 回答 1

0

为什么不直接委托#filtercategory 更改事件?

$(document).delegate("#filterCategory", "change", function () {
  $.mobile.changePage(this.value);
});

顺便说一句,delegate已弃用。如果您使用较新的 jQuery,请on改用。

于 2013-07-10T11:43:47.747 回答