Переключайтесь между собственным и пользовательским выбором с помощью мобильного телефона jQuery - PullRequest
1 голос
/ 07 марта 2012

У меня есть jQuery mobile SELECT, параметры которого меняются динамически, мне нужно перейти от собственного выбора к пользовательскому, чтобы отобразить параметры (data-native-menu) в зависимости от количества параметров (и без изменения страница).

Пример: если я нажимаю кнопку, я изменяю число опций в выборке на пять динамически, и я хотел бы показать выбор как родной, затем, если я нажимаю другую кнопку, я меняю опции на 2, поэтому я хотел бы показать это как обычай.

Есть идеи? Возможно ли это?

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Так как пользовательский выбор JQM включает довольно существенные модификации DOM (представьте себе подстраницу со списком всех ваших опций, связанных с вашим исходным выбором), я не знаю, можно ли просто переключаться между обоими режимами.

Вы всегда можете перестроить выбор после изменения количества параметров, например, так:

//refresh value         
$('select').selectmenu('refresh');

//refresh and force rebuild
$('select').selectmenu('refresh', true);

Взято из Документов JQM . Просто попробуйте добавить / удалить атрибут data-native-здесь и посмотреть, что произойдет.

Я обычно настраиваю выбор при загрузке страницы так:

$('div:jqmData(role="page").basePage').on('pagebeforecreate', function() {  

    // Jquery Mobile Custom Select
if ( !$.support.touch ) {       
    $(this).find('select').attr('data-native-menu',false);
    }
});

Таким образом, на сенсорных устройствах все селекторы получат атрибут data-native-menu и будут «расширены» до нативных, а на рабочем столе JQM вступит во владение и создаст пользовательские селекции.

Я думаю, что это самый привлекательный способ ведения дел. Просто убедитесь, что добавили атрибуты до того, как JQM улучшит элементы.

0 голосов
/ 07 марта 2012

Можно ли просто иметь два поля выбора?Тот, у которого применяется стиль, и тот, у кого нет?Затем, в зависимости от размера используемой коллекции, вы просто показываете правильное поле выбора?

Я попытался создать пример динамического применения / удаления мобильного стиля jquery для 1 поля выбора, и я просто не уверен, что это возможно.

...