У меня есть страница Jquery Mobile с простым меню выбора.
<div class="selectMenuContainer">
<div data-role="fieldcontain">
<label for="selectmenu" class="select">Heroes:</label>
<select name="selectmenu" id="heroSelectMenu" class="heroSelectMenu" >
<option value="0">Choose One...</option>
<option value="Option 1">Option 1</option>
<option value="Option 2">Option 2</option>
</select>
</div>
</div>
В случае события pageinit
я использую jQuery для .remove()
всего из меню выбора, а затем динамически добавляю много опций. Конечно, я не забываю обновить меню выбора.
function populateHeroNames(){
//populate hero select item
$('#heroSelectMenu').empty();
$('#heroSelectMenu').append('<option value="0">Please Choose...</option>');
for(var i=0;i<heroNameLength;i++){
if(heroName[i]){
var currentHeroName = heroName[i];
}else{continue;}
$('#heroSelectMenu').append('<option value="'+i+'">'+currentHeroName+'</option>');
}
//refresh hero select item
var heroSelectMenu = $("#heroSelectMenu");
heroSelectMenu.selectmenu("refresh");
console.log('heroes added!');
}
Моя проблема в том, что я не могу успешно перейти на другую страницу из программно созданной опции. Я могу сделать это просто отлично из жестко закодированного варианта, хотя. Когда я нажимаю жестко заданную опцию, я могу использовать $.mobile.changePage()
очень хорошо. Но из программно созданной опции страница, на которую я перехожу, исчезнет и вернется на начальную страницу.
При тестировании, когда я нажимаю кнопку "Назад", я фактически иду к месту назначения. Таким образом, очевидно, что JqueryM перешел к месту назначения, но затем вернулся по какой-то причине.
Я подозреваю, что причина в причудливой загрузке DOM в Jquery Mobile. Есть ли что-то, что мне нужно освежить ... или, может быть, помешать освежить? Просто перейдите на страницу ... и останьтесь там, черт возьми!