Javascript jquery ui中的重复列表未在“选择”下拉列表中显示选定项
我使用JS/JQuery从ul获取一个li元素,并通过将其插入DOM来重复它,同时在select元素中填充一些选项。选择元素工作正常,但所选项目不显示在屏幕上 这里是普朗克Javascript jquery ui中的重复列表未在“选择”下拉列表中显示选定项,javascript,jquery,html,jquery-ui,jquery-mobile,Javascript,Jquery,Html,Jquery Ui,Jquery Mobile,我使用JS/JQuery从ul获取一个li元素,并通过将其插入DOM来重复它,同时在select元素中填充一些选项。选择元素工作正常,但所选项目不显示在屏幕上 这里是普朗克 我需要做些什么才能使jquery ui在新插入的HTML上刷新?按钮在哪里?您是否也在没有时间的情况下使用setTimeout?很难弄清楚您想要做什么。select是一个jQM小部件,经过增强后,它会向select元素添加更改事件侦听器。您复制的是DOM元素,而不是jQuery对象。无论如何,将$function{替换为$d
我需要做些什么才能使jquery ui在新插入的HTML上刷新?按钮在哪里?您是否也在没有时间的情况下使用setTimeout?很难弄清楚您想要做什么。select是一个jQM小部件,经过增强后,它会向select元素添加更改事件侦听器。您复制的是DOM元素,而不是jQuery对象。无论如何,将$function{替换为$document.onpagebeforecreate,function{为了在创建/增强小部件之前应用您的更改。抱歉,曲折的是,button是一条红鲱鱼,它是从plunker的示例代码中遗留下来的。最终,我尝试实现的是类似Angular的ng repeat,我可以重复从数据库获得的尽可能多的元素,这不一定只在页面加载b时完成ut可能在这之后的任何时间都可以。@Omar,这很好,但在这种情况下,我将在加载页面后很长时间加载数据。在这种情况下,创建一个隐藏的select模板,使用data role=none,复制它,进行更改并附加它。附加它时,需要调用.selectmenu以增强它。或者在包含d时调用.ENHANCETINiv/wrapper.别忘了删除数据role=none以增强它。
var rooms = [
{id: '001', roomName: 'Front Room'},
{id: '002', roomName: 'Kitchen'}
];
var salesItems = [
{id: '001', itemNo: '1', room_id: ''},
{id: '002', itemNo: '2', room_id: ''},
];
var itemTemplate = $('#basket-screen-ul').html();
$('#basket-screen-ul').html('');
var htmlList = '';
salesItems.forEach(function(salesItem) {
console.log('item ' + salesItem.itemNo);
var htmlItem = itemTemplate;
for (var fld in salesItem) {
htmlItem = app.replaceAll(htmlItem, '{saleItems.' + fld + '}', salesItem[fld]);
htmlItem = app.replaceAll(htmlItem, 'saleItems-0-', 'saleItems-' + salesItem.itemNo + '-');
}
htmlList += htmlItem;
});
$('#basket-screen-ul').html(htmlList);
window.setTimeout(function() {
salesItems.forEach(function(saleItem) {
rooms.forEach(function(room) {
$('#saleItems-' + saleItem.itemNo + '-rooms_id').append($('<option></option>').attr('value',room.id).text(room.roomName));
});
});
});