Я пишу интернет-магазин с 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» не решает проблему.