Javascript 如何在jQuery Mobile中创建动态选择菜单?

Javascript 如何在jQuery Mobile中创建动态选择菜单?,javascript,jquery,html,css,jquery-mobile,Javascript,Jquery,Html,Css,Jquery Mobile,我试图动态地创建一个select元素,但是jquerymobile没有为它设置样式。实现这一目标的正确方法是什么 下面是一个工作的jsFiddle示例: $(document).on('pagebeforeshow','#index',function(){ //添加一个新的select元素 $('').attr({'name':'select-choice-1','id':'select-choice-1'}); $('').attr({'value':'1'}).html('value 1'

我试图动态地创建一个
select
元素,但是jquerymobile没有为它设置样式。实现这一目标的正确方法是什么


下面是一个工作的
jsFiddle
示例:

$(document).on('pagebeforeshow','#index',function(){
//添加一个新的select元素
$('').attr({'name':'select-choice-1','id':'select-choice-1'});
$('').attr({'value':'1'}).html('value 1').appendTo('select-choice-1');
$('').attr({'value':'2'}).html('value 2').appendTo('select-choice-1');
//增强新选择元素
$('select')。selectmenu();
});

还可以看看这个,在那里您会发现增强jQuery元素标记的不同方法,或者可以找到

值得注意的是,这也应该起作用:(示例附加了两个选项以显示如何添加选项

$('<select name="sl" id="sl" data-native-menu="false"><option value="clear">That I got</option></select>').appendTo("#output");
$('<option value="clear2">Another That I got</option>').appendTo("#sl");
$('select').selectmenu();
$(“我得到了”).appendTo(“输出”);
$(“我得到的另一个”).appendTo(“#sl”);
$('select')。selectmenu();
这个适合我

$(document).on('change', "body", function(){
    $( ".ui-selectmenu" ).selectmenu();
});
首先,触发器('create')用于重建整个内容。您应该像我的示例中那样使用适当的函数。并且在使用jQuery时不要使用vanila javascript。好的建议。为什么$('select')。selectmenu();工作和不工作$('id_select')。selectmenu()?您可以使用$('select-choice-1')。selectmenu();它可以很好地工作。这个例子是在另一个答案中创建的,尽可能简单。
$(document).on('change', "body", function(){
    $( ".ui-selectmenu" ).selectmenu();
});