Не используйте функцию $ (document) .ready ()!
Документация jQuery Mobile предлагает документацию по этому вопросу! Он срабатывает каждый раз, когда вы меняете страницу, и, поскольку всплывающее диалоговое окно не записывает в историю, возможно, оно может перенаправить вас на нее Док здесь
Используйте живую инициализацию в поле выбора, аналогично следующему:
//on all pages you have a div with data-role="header" | assign an id to it
//if this doesn't work, assign the live eventto your page id, not header id
$('#your_header_id').live('pageshow',function (event) { //or 'pagecreate'
//load function and fire the changing event when user changes the select
$('select[name=select-choice-a]').change(function(event){
//make sure it returns the exact value of select
//if not, there is a problem in your select value method
console.log('Change to page: #' + this.options[this.selectedIndex].value);
//to the change page method that changes the page
//you could also do the $.mobile.loadPage method to insert it into DOM before change
$.mobile.changePage('#' + this.options[this.selectedIndex].value,{changeHash: false})
})
});
Мое мнение об использовании якорей (# element_id's) в мобильном приложении, разработанном с помощью jQuery Mobile, таково: DONT !, но это только мое мнение!
Я использую конкретные файлы HTML и указываю на них ссылку! Чтобы передать параметр на другую страницу и получить его, я использую специальную функцию, которая возвращает мне сам параметр, и делаю с ним классные приятные вещи. Я написал на другой вопрос здесь что это за функция и как вы можете ее использовать. Затем я меняю страницы только с помощью $ .mobile.changePage ('myPage.html? Id =' + variable).
Я использую этот метод, потому что я могу очень хорошо структурировать свое приложение с ограниченным объемом данных, и я могу контролировать все мои html-файлы с помощью одного файла javascript с событиями .live.
Короткое резюме:
index.html <- load all javascripts/css/whatever here
other_file.html <- declare only <html><head></head><body> jQM specific div's here (like <div data-role"page"></div> etc,)</body></html>