【发布时间】:2012-02-23 19:47:49
【问题描述】:
我在 Jquery Mobile 中使用 dataTables。我的 dataTable 是在 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)
}
});
如果我这样做,则选择按钮在那里但不执行任何操作,因为缺少自定义选择菜单。
我尝试在 pagebeforecreate 之前创建选择,因为那是我检查触摸设备并分配 data-native-menu="true/false" 的地方。但是将选择放在那里也没有任何好处,也许是因为我只是创建它并且在我的 tableInit 之前不要将它放入 DOM ... mh。
问题:
有人可以告诉我如何在 pagebeforeshow 上使用自定义菜单创建选择吗?
感谢您的帮助!
【问题讨论】:
标签: javascript jquery events select jquery-mobile