调用changePage()后,Javascripts不起作用

时间:2013-07-10 05:26:27

标签: asp.net-mvc-3 jquery-mobile

在我的示例中调用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

由于

1 个答案:

答案 0 :(得分:0)

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

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

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