Javascript 为multiselect设置Select2搜索表单上的值
我有一个json字符串,希望添加到select2 multiselect搜索输入中。我得到的地图错误如下 无法读取未定义的属性“map” 控制台日志中的json字段为Javascript 为multiselect设置Select2搜索表单上的值,javascript,jquery,json,Javascript,Jquery,Json,我有一个json字符串,希望添加到select2 multiselect搜索输入中。我得到的地图错误如下 无法读取未定义的属性“map” 控制台日志中的json字段为 [{"id":1,"name":"Test Test"},{"id":2,"name":"Billy A"}] js代码是 var employees = $(this).attr('data-employees'); console.log(employees); $("select[name='em
[{"id":1,"name":"Test Test"},{"id":2,"name":"Billy A"}]
js代码是
var employees = $(this).attr('data-employees');
console.log(employees);
$("select[name='employees[]']").val(employees.data.map(function(x) {
return x.id; })); // Set the selected data before show it.
$('select').select2()
HTML
正如我所看到的,您是从元素属性获取此数组的,如果是,可能console.log是一个字符串,请尝试以下操作:
var employees = JSON.parse( $(this).attr('data-employees') );
console.log(employees);
$('select').select2(); // init with select2
$("select[name='employees[]']").val(employees.map(function(x) {
return x.id; // Set the selected data before show it.
}))
.trigger("change");
如果你看到这个
var employees=JSON.parse“[{id:1,name:Test},{id:2,name:Billy A}]”;
console.log“整个数组:”,employees;//您有一个有效的数组
var id=employees.mapfunctionx{return x.id;}
console.log'Employee id only:',id;如果employees的cosole.log为您提供了问题中提供的对象数组,只需删除数据并按此方式执行即可。valemployees.mapfunctionx{…删除数据后,i get employees.map不再是一个函数不再获得错误。此问题的console.log返回[Object,Object]。模式选择字段为空,没有值。我已编辑了我的答案。如果您在console.log中也看到了这一点,那么您的问题就在其他地方;].True。我已看到您的结果。我的问题是在其他地方将数据放在选择框中。我猜在$'select'行上有些内容不完整。请选择2尝试使用.selec对其进行初始化t2首先,然后选择所选值,请参阅代码A。这就是我可以帮助您的
var employees = JSON.parse( $(this).attr('data-employees') );
console.log(employees);
$('select').select2(); // init with select2
$("select[name='employees[]']").val(employees.map(function(x) {
return x.id; // Set the selected data before show it.
}))
.trigger("change");