Javascript 如何从js向jquery multiselect生成选项值

Javascript 如何从js向jquery multiselect生成选项值,javascript,jquery,jquery-multiselect,Javascript,Jquery,Jquery Multiselect,我试图使用javascript在jquery multiselect中动态生成选项值 function prova(data){ var t = 0; var tmp = new Array(); var keys = new Array(); $("#select-1").multiselect({ multiple: true, header: true, noneSelectedText: "Select

我试图使用javascript在jquery multiselect中动态生成选项值

function prova(data){
      var t = 0;
      var tmp = new Array();
      var keys = new Array();
      $("#select-1").multiselect({
      multiple: true,
      header: true,
      noneSelectedText: "Select an Option",
      selectedList: 1
    });
    var stringa ="";
    $.each(data, function(key,value){
    stringa +="<option value=\""+key+"\">"+key+"</option>";
    if(t==0){
    tmp[0] = key;
    }
    t++;
    });
    $("#select-1").html(stringa);
}
函数prova(数据){
var t=0;
var tmp=新数组();
var keys=新数组();
$(“#选择-1”)。多选({
多重:对,
标题:对,
noneSelectedText:“选择一个选项”,
选择列表:1
});
var stringa=“”;
$。每个(数据、函数(键、值){
stringa+=“”+键+“”;
如果(t==0){
tmp[0]=键;
}
t++;
});
$(“#select-1”).html(stringa);
}
我在#select-1中生成的值如下所示:

<select id="select-1" size="5" name="example-basic" title="Basic example" style="display: none;">
<option value="name1">name1</option>
<option value="name2">name2</option>
<option value="name3">name3</option>
<option value="name4">name4</option>
<option value="name5">name5</option>
</select>

名称1
姓名2
名字3
名字4
名字5

问题是它没有将选项值填充到jquery multiselect中,而jquery multiselect仍然为空。

因为您直接在元素上使用.html(),所以在插入新元素之前要替换其中的元素。 您可能希望像以下那样使用.append():

$。每个(数据、函数(键、值){
stringa+=“”+键+“”;
如果(t==0){
tmp[0]=键;
}
t++;
});
$(“#select-1”)。追加(stringa);
或者在.html()用法中也使用前面的值,如:

 $.each(data, function(key,value){
    stringa +="<option value=\""+key+"\">"+key+"</option>";
    if(t==0){
    tmp[0] = key;
    }
    t++;
    });
    $("#select-1").html($("#select-1").html()+stringa);
$。每个(数据、函数(键、值){
stringa+=“”+键+“”;
如果(t==0){
tmp[0]=键;
}
t++;
});
$(“#选择-1”).html($(“#选择-1”).html()+stringa);

在显示
#select-1
的示例中,我看到了每个
选项的
值和
内部HTML
。您的意思是要显示没有
值的
选项
元素吗?为了清楚起见,您可能需要修改您的问题,因为就我们所知,它正在按其应有的方式工作。
 $.each(data, function(key,value){
    stringa +="<option value=\""+key+"\">"+key+"</option>";
    if(t==0){
    tmp[0] = key;
    }
    t++;
    });
    $("#select-1").html($("#select-1").html()+stringa);