在我的示例中调用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
由于
答案 0 :(得分:0)
为什么不直接委托#filtercategory更改事件?
$(document).delegate("#filterCategory", "change", function () {
$.mobile.changePage(this.value);
});
顺便说一下,delegate
已被弃用。如果您使用较新的jQuery,请改用on
。