Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在pagebeforeshow创建jquery移动选择菜单?_Javascript_Jquery_Events_Select_Jquery Mobile - Fatal编程技术网

Javascript 如何在pagebeforeshow创建jquery移动选择菜单?

Javascript 如何在pagebeforeshow创建jquery移动选择菜单?,javascript,jquery,events,select,jquery-mobile,Javascript,Jquery,Events,Select,Jquery Mobile,我在Jquery Mobile中使用dataTables。我的数据表在pageBeforeShow上启动。在init回调函数中,我构造了一个JQM选择菜单。此菜单未正确增强=按钮在那里,但未创建自定义选择 那是我的问题 以下是缩短的代码: $('div:jqmData(role="page")').live('pagebeforeshow', function(e, data) { /** init datatables **/ $('.tbl_orders').dataTa

我在Jquery Mobile中使用dataTables。我的数据表在pageBeforeShow上启动。在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)
             }
        });
$('div:jqmData(role=“page”)).live('pagebeforeshow',函数(e,数据){
/**初始化数据表**/
$('.tbl_orders')。数据表({
/*回拨*/
“fnInitComplete”:函数(oSettings,json){
var thead=$(oSettings.nTHead),
bodyRows=$(oSettings.nTBody).find(“tr,tr”),
hdrCols=thead.find(/*所有标题列*/);
/*创建选择*/
tableSelectMenu=$('')
/*循环通过标题栏添加选项*/
hdrCols.each(函数(i){
var toggle=$(''+th.text()+'');
tableSelectMenu.append(切换);
});//结束hdrCols循环
$('.stickSelectHere').append(表选择菜单)
}
});
如果我这样做,选择按钮就在那里,但没有做任何事情,因为缺少自定义选择菜单

我尝试在前面的页面BeforeCreate上创建select,因为我在这里检查触摸设备并分配数据native menu=“true/false”。但是将select放在那里也没有任何好处,可能是因为我只是创建了它,直到我的tableInit…mh才将其放入DOM

问题:
有人能告诉我如何在pagebeforeshow上创建带有自定义菜单的选择吗


谢谢您的帮助!

您可能只需要在追加后添加以下内容,即

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

您可能只需要在追加之后添加以下内容,即

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

:-)我也发现了。谢谢!虽然我在js文件的开头插入了select,所以它在DOM中。然后我可以添加数据本机菜单=true/false,添加选项,刷新并将其移动到最终目的地。:-)我也发现了。谢谢!虽然我在js文件的开头插入select,所以它在DOM中。然后我可以添加数据native menu=true/false、添加选项、刷新并将其移动到最终目的地。