Как создать JQuery Mobile выберите меню на странице перед выставкой? - PullRequest
1 голос
/ 23 февраля 2012

Я использую таблицы данных с Jquery Mobile.Моя таблица данных инициируется на странице BeforeShow.Внутри моей функции обратного вызова init я создаю меню выбора JQM.Это меню не расширяется должным образом = кнопка есть, но пользовательский выбор не создан.

Это моя проблема!

Вот сокращенный код:

 $('div:jqmData(role="page")').live('pagebeforeshow', function(e, data) {

    /** init datatables **/
    $('.tbl_orders').dataTable( {
        /* callback */
        "fnInitComplete": function(oSettings, json) {

             var thead = $(oSettings.nTHead),
                 bodyRows = $(oSettings.nTBody).find("tr, TR"),
                 hdrCols = thead.find( /* all header columns */ );
                 /* create select */        
                 tableSelectMenu = $('<select name="toggleCols" id="toggleCols" multiple="multiple" data-icon="setup" data-iconpos="notext"></select>')

             /* loop through header cols add options */
             hdrCols.each(function(i){                  
               var toggle = $('<option value="'+id+'">'+th.text()+'</option>');
               tableSelectMenu.append(toggle);

               }); // end hdrCols loop 

             $('.stickSelectHere').append(tableSelectMenu)
             }
        });

Если я так делаю, кнопка выбора есть, но ничего не делает, потому что отсутствует меню пользовательского выбора.

Я пытался создать выбор ранее на странице перед созданием, потому что именно здесь я проверяю сенсорные устройства и назначаю data-native-menu = "true / false".Но размещение там выбора тоже не приносит никакой пользы, может быть, потому что я просто создаю его и не помещаю его в DOM, пока моя таблица не будет ... mh.

Вопрос:
Может кто-нибудь сказать мне, как создать выборку с помощью пользовательского меню на странице перед показом?

Спасибо за помощь!

1 Ответ

1 голос
/ 24 февраля 2012

Вероятно, вам просто нужно добавить следующее после добавления, то есть

$('.stickSelectHere').append(tableSelectMenu)
$('#toggleCols').selectmenu('refresh');
...