使用jquery添加值以选择标记
我正在使用select2插件。我正在编写应用程序的基本CRUD操作。当我尝试用所选的值重新填充select标记时,我无法理解编辑中的一件事,因为它没有显示这些值。我是这样做的使用jquery添加值以选择标记,jquery,jquery-select2,select2,Jquery,Jquery Select2,Select2,我正在使用select2插件。我正在编写应用程序的基本CRUD操作。当我尝试用所选的值重新填充select标记时,我无法理解编辑中的一件事,因为它没有显示这些值。我是这样做的 $.each(p["info"]["recievers_id"] , function(key , value){ $.each(p["users"] , function(key , nextvalue){ if (value["$id"] == nextvalue["_id"]["$id"])
$.each(p["info"]["recievers_id"] , function(key , value){
$.each(p["users"] , function(key , nextvalue){
if (value["$id"] == nextvalue["_id"]["$id"]) {
myData.push({
id: nextvalue["_id"]["$id"],
text: nextvalue["firstname"]
});
}
});
});
$("#messageTo").select2();
$("#messageTo").select2("data", myData, true); //Build my select
$("#messageTo").trigger('change'); //*1* update the values
//If *1* doesn't works use this lines of code:
//$("#messageTo").select2('destroy');
//$("#messageTo").select2();
//$("#messageTo").select2('data', myData, true );
使用select2插件的select标记
<div class="form-group">
<select id="messageTo" class="form-control" data-plugin="select2" multiple="multiple"
data-placeholder="To:">
</select>
</div>
是不是我做错了什么。我试图显示用户在创建时选择的值
[对象]
0:对象
id:“569Dece31DF7B8416004AE3”
正文:“abc”
原型:对象
长度:1
proto:数组[0]
您可以尝试以下方法:
var myData = []; //My array of objects to populate the select
$.each(p["info"]["recievers_id"] , function(key , value){
$.each(p["users"] , function(key , nextvalue){
if (value["$id"] == nextvalue["_id"]["$id"]) {
myData.push({
id: nextvalue["_id"]["$id"],
text: nextvalue["firstname"]
}); //push elements one by one
}
});
});
$("#messageTo").select2();
$("#messageTo").select2("data", myData, true); //Build my select2
Working fiddle(更新):您使用的是select2的哪个版本?@Hackerman它的版本是3.4.1在代码末尾添加这一行:
$(“#messageTo”).trigger('change')代码>@Hackerman不,那没用either@Hackerman是不是我做错了什么。我试图显示用户在创建时选择的值。它向我抛出此错误。对未使用select2的元素调用了select2(“destroy”)方法。但是id messageTo所属的标记正在使用select2 pluginI已经添加了select标记htmlNow它已经销毁了它,但是现在它抛出了这个错误select2('data')方法是在不使用select2的元素上调用的。在这一行$(“#messageTo”)。选择2('data',myData);基于这段代码,你能给我们展示一下console.log(myData)的结果吗代码>?看看这段代码……我使用的是与您相同的插件版本: