Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 jquery ui中的重复列表未在“选择”下拉列表中显示选定项_Javascript_Jquery_Html_Jquery Ui_Jquery Mobile - Fatal编程技术网

Javascript jquery ui中的重复列表未在“选择”下拉列表中显示选定项

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

我使用JS/JQuery从ul获取一个li元素,并通过将其插入DOM来重复它,同时在select元素中填充一些选项。选择元素工作正常,但所选项目不显示在屏幕上

这里是普朗克


我需要做些什么才能使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));
        });

    });
});