【发布时间】:2011-12-16 12:31:54
【问题描述】:
我正在使用 Jquery Mobile 编写一个网上商店,我想在其中使用选择菜单来浏览可用的类别。当用户选择一个类别时,我想导航到同一页面,但在 url 中添加了几个参数。这是我的选择标记:
<asp:Repeater id="productCatSelect" runat="server">
<HeaderTemplate>
<select id="productCatSelectMenu" data-native-menu="false" onchange="categoryClick();" class="button" data-theme="a">
<option data-placeholder="true">All Categories</option>
</HeaderTemplate>
<ItemTemplate>
<option value="<%# Eval("NodeID") %>" ><%# Eval("Description")%></option>
</ItemTemplate>
<FooterTemplate>
</select>
</FooterTemplate>
</asp:Repeater>
这里是javascript:
function categoryClick() {
var mySelect = $("#productCatSelectMenu");
if (mySelect.val() != '') {
if (mySelect.val() == 0) {
$.mobile.changePage("shop.aspx", {reloadPage: true, transition:"slide"});
} else {
$.mobile.changePage("shop.aspx?c=" + $("#productCatSelectMenu").val() + "&n=" + $('#productCatSelectMenu :selected').text(), {reloadPage: true, transition:"slide"});
}
}
}
当我导航一次并尝试从选择中选择另一个选项时,我的问题发生了,我的 javascript 仍然检索以前的值;选择似乎没有重置!但是,当我按 F5 并手动重新加载页面时,菜单会再次起作用,直到我使用过一次。
有人对我如何解决这个问题有任何想法吗?正如您在 javascript 中看到的,“reloadPage: true”属性不能解决问题。
【问题讨论】:
标签: jquery-mobile