jQuery Mobile Pagebeforeshow и длинный список selectmenu

Я использую мобильный JQuery 1.0.1.

Я создаю страницу с приведенным ниже кодом

<div data-role="page" id="homecomments">
   <div data-role="header">
      <h1>Comments</h1>
      <a href='#home' class='ui-btn-left' data-icon='home' data-theme="a" data-iconpos="notext">Home</a>
   </div>
   <div data-role="content">
      <select name="building" id="opt1" data-native-menu="false">
         <option>building</option>
      </select>
   </div>
</div>

И я вызываю страницу с

$('#homecomments').live('pagebeforeshow', function() {
   getTitlesComments()
});

а также

$( document ).delegate("#homecomments", "pagecreate", function() {
   $("#opt1").change( function() {
   if ($( "#opt1 option:selected" ).val() != 0) {
      ====================DO SOMETHING=======================
   }
});

а также

function getTitlesComments() {
   $('#opt1').val('');
   $("#opt1").selectmenu('refresh');
   ==========dynimicaly create longlist selectmenu opt1========
}

Я должен использовать длинный список в меню выбора. Каждый раз, когда я делаю выбор из длинного списка, меню выбора сбрасывается.

Как я могу это решить??


person kosbou    schedule 16.01.2015    source источник


Ответы (1)


Выбор длинного списка «скрывает» страницу, поэтому, когда вы возвращаетесь после выбора, он снова «показывает» ее. Хорошей новостью является то, что он по-прежнему сохраняет ваш выбор (ы). Вы можете проверить их существование в своем коде pagebeforeshow и выбрать значения, поскольку ваш код снова создает список параметров.

$("#opt1").selectedValues().join(",");

Дает вам список, разделенный запятыми, для работы.

person Jim Eisenhauer    schedule 04.03.2015