Javascript 在动态更新下拉列表checklst时,是否有其他方法更新包装器

Javascript 在动态更新下拉列表checklst时,是否有其他方法更新包装器,javascript,jquery,html,Javascript,Jquery,Html,我试图为python后端创建一个html和java脚本前端。我正在解析tsv文件中的数据,然后动态更新下拉列表。我对html和javascript没有太多经验,我正在努力学习 我正在使用jQuery下拉列表multiselect <form id="form-user" action="#" method="post"> <center> <select id='testSelect1' multiple> <option va

我试图为python后端创建一个html和java脚本前端。我正在解析tsv文件中的数据,然后动态更新下拉列表。我对html和javascript没有太多经验,我正在努力学习

我正在使用jQuery下拉列表multiselect

 <form id="form-user" action="#" method="post">
  <center>
    <select id='testSelect1' multiple>
      <option value='1'>Item 1</option>
      <option value='2'>Item 2</option>
      <option value='3'>Item 3</option>
      <option value='4'>Item 4</option>
      <option value='5'>Item 5</option>
      <option value='1'>Item 1</option>
      <option value='2'>Item 2</option>
    </select>
  </center>
</form>
这是我初始化它的方式:

function updateShopOrder(data) {
   var inner_HTML = [];
   var temp = "<option value=";
   const element = document.getElementById('testSelect1');
   var value = "hello";

   $(document).ready(function() {
       for (i = 0; i < 20; i++) {
            //var newOption = document.createElement("option");
            //newOption.value = "tt";
            //newOption.text = "test";
            //element.add(newOption);
            element.innerHTML += temp.concat(i.toString(), ">", "item ", i.toString(), "</option>");
            //document.multiselect('#testSelect1').append("<option value=\"" + i.toString() + "\">" + value 
            + " </option>");
            //$('#testSelect1').multiselect( 'refresh' );
            //$('#testSelect1').multiselect( 'rebuild' );
       }
    });
}
}]))

我在文档中找到了这一点,但是如何使用for循环来实现它呢?

试试这段代码

$.each(data, function (index, value) {
// APPEND OR INSERT DATA TO SELECT ELEMENT.
$('#testSelect1').append('<option value="' + value.ID + '">' + value.Name + '</option>');
});
$。每个(数据、函数(索引、值){
//附加或插入数据以选择元素。
$('#testSelect1').append(''+value.Name+'');
});

以某种方式迭代数据并将其附加到html文件中。定期刷新以使更改反映在html中

是否有用于multiselect的引导库?使用这种方法,你并不真正需要它。您可以将
document.multiselect('#testSelect1')
更改为jquery
$('#testSelect1')
我没有引导库。我也试过了,这只是我试过的另一件事。我还为devtool参考添加了一个屏幕截图,以防有所帮助。我尽量不使用jquery和javascript以外的任何东西。正如我不知道的,当我试图用鳗鱼包装它时,这将是一个多大的问题。此外,客户端不希望应用程序使用任何在线资源。我还为devtool参考添加了一个屏幕截图,以防万一,仍然是相同的问题。然而,我确实在文档中发现了类似于json列表的东西。但是如果没有for循环,我怎么能创建这样的东西呢。我无法在注释中发布代码,因此我用我所指的内容更新了帖子。我的意思是说,如何在javascript中使用for循环生成OPTGROUPS
// DYNAMICALLY LOAD OPTIONS
$('select[multiple]').multiselect( 'loadOptions', [{
    name   : 'Option Name 1',
    value  : 'option-value-1',
    checked: false,
    attributes : {
        custom1: 'value1',
        custom2: 'value2'
  }
},{
    name   : 'Option Name 2',
    value  : 'option-value-2',
    checked: false,
    attributes : {
       custom1: 'value1',
       custom2: 'value2'
}
$.each(data, function (index, value) {
// APPEND OR INSERT DATA TO SELECT ELEMENT.
$('#testSelect1').append('<option value="' + value.ID + '">' + value.Name + '</option>');
});