Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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 Select2 id不能是对象吗?_Javascript_Jquery Select2 - Fatal编程技术网

Javascript Select2 id不能是对象吗?

Javascript Select2 id不能是对象吗?,javascript,jquery-select2,Javascript,Jquery Select2,使用select2,每个列表项都有两个必需参数:“id”和“文本”。 如果您的id和文本都是字符串类型,则一切正常。然而,当我试图将id转换成一个对象时,会出现错误。在控制台中检查,我可以看到id=[“[object]” 我用于生成select2列表的代码: var list = [ "apple", "banana", "orange"] var list = _.map(list, function(each){ return { id: { myName: each, otherDat

使用select2,每个列表项都有两个必需参数:“id”和“文本”。 如果您的id和文本都是字符串类型,则一切正常。然而,当我试图将id转换成一个对象时,会出现错误。在控制台中检查,我可以看到id=[“[object]”

我用于生成select2列表的代码:

var list = [ "apple", "banana", "orange"]
var list =  _.map(list, function(each){
 return { id: { myName: each, otherData: 1 }, text: each }
});

$(".js-example-basic-single").select2({
  data: list
});
我在文档的任何地方都看不到“id”是否只能是字符串而不是对象


“id”是否可能是一个对象?如果是这样,有什么特殊语法吗?

我不知道jquery-select2,但只要看看示例代码,您就需要这样做:

return [{id: 0, myName: each, otherData: 1}, {id: 1, text: each}];

ID通常是字符串,有时是数字,因为这些类型很容易比较。我个人不知道select2,但我认为它使用id作为dom引用,所以id必须是字符串

试试这样:

var list = ['banana', 'apple', 'orange']
   .map((fruit, index) => {type: fruit, id: (Number(index || 0) + 1).toString()})
   //.sort() //sort fruits as you want, etc...
;

我从Select2的维护人员那里得到确认,它需要是最新版本的字符串

由于id和文本必须是字符串,添加变量的唯一方法是使对象为:

{id:'string',text:'string',userDefinedKey:'string'}