Ручной запуск стиля в списке выбора мобильных устройств jQuery - PullRequest
2 голосов
/ 12 февраля 2012

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

Страница корректно загружается со стилем jQuery, но когда я заменяю свой контейнер ajax новым divЯ не могу заставить jQuery мобильный отформатировать его.Это означает, что он возвращается к собственному формату списка выбора.

Я пробовал то, что предлагается в документации JQM :

var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");

, но это не работает.Моя страница изначально загружается с этим:

<div id="ajax-destination">
     <select id="destinationAirport" data-native-menu="false">
      <option value="-- Please Select --" data-placeholder="true">-- Please Select --</option>
     </select>

, и это мой код jQuery, включенный в функцию изменения другого списка выбора.

$('#ajax-destination').empty();
$.post(url, { departureAirport : departureAirport }, function(data) {
    $('#ajax-destination').append(data);
var myselect = $("#destinationAirport");
myselect[0].selectedIndex = 1;
myselect.selectmenu("refresh");
});

ЕдинственныйДругой способ, которым я могу подумать, это вернуть массив JSON через Ajax и использовать его для добавления параметров в список выбора, но я бы предпочел просто отправлять форматированный HTML, потому что за ним проще следовать.

Ответы [ 2 ]

2 голосов
/ 14 февраля 2012

Если myselect.selectmenu("refresh"); или myselect.selectmenu("refresh",true); не работает, вы всегда можете обновить страницу, используя

you could try myselect.trigger('create');
2 голосов
/ 12 февраля 2012

@ Энди:

myselect.selectmenu ( "обновить"); обновит поле выбора и где как myselect.selectmenu («обновить», true) ; перестроит меню выбора. Это может помочь вам. Проверьте эту ссылку один раз http://forum.jquery.com/topic/how-to-add-items-and-refresh-the-select-menu-in-jquery-mobile

...