Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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 jquery-如何将数据追加到现有Select2中_Javascript_Jquery_Jquery Select2 - Fatal编程技术网

Javascript jquery-如何将数据追加到现有Select2中

Javascript jquery-如何将数据追加到现有Select2中,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,经过对几个stackoverflow解决方案的研究,没有一个能帮助我解决这个问题 我有一个初始数据来填充select2的输入: var select2_data = [{id:0, product_text:'text_1'},{id:1,product_text:'text_2'},{id:2, product_text:'text_3'}]; 然后,select2将在没有任何问题的情况下启动 var select2 = $('#select2_id').select2( { id:

经过对几个stackoverflow解决方案的研究,没有一个能帮助我解决这个问题

我有一个初始数据来填充select2的输入:

var select2_data = [{id:0, product_text:'text_1'},{id:1,product_text:'text_2'},{id:2, product_text:'text_3'}];
然后,select2将在没有任何问题的情况下启动

var select2 = $('#select2_id').select2(
{
   id: function(e) {return e.product_text; },
   data:{results: select2_data, text:'product_text'},
       width: '50%',
   placeholder: 'Choose a product', 
   formatSelection: Product_Result,
   formatResult: Product_Result 
});
但我的问题是,我不知道如何将新数据附加到现有select2的输入中

新数据示例:

var new_data = {id:4, product_text: 'text_4'};
我做了一些实验,试图获取现有数据并将其添加到现有数据数组中,如下所示:

var select2_existing_data = $('#select2_id').select2('data');
select2_existing_data.append(new_data);
但是经过一些研究,这个select2\u现有数据变量适合只返回所选数据,而不是整个数据

希望你能帮我找到解决办法,
谢谢

这难道不是简单地添加到原始数据数组吗

select2_data.push({ id: 4, product_text: 'text_4' });

不久前我做过类似的事情

//get the current data array (what is currently in the select 2)
var dataArray = $("#myselect2").select2('data');

//push your additional item
dataArray.push({ "Name": 'MyNewItem', "Id": 'MyNewItemId' });

//push new item with items that were already in the list
$("#myselect2").select2("data", dataArray);

没有测试。您可能需要检查select2(“数据”)中是否包含项。

这是不可能的。它返回以下错误:未捕获类型错误:无法调用null的方法“append”不要使用“append”,使用“push”。然后在“select2_data”上调用它,这是一个绝对不为null的对象(除非你在别处偷偷地将其置为null)。哦,我得到了它…我的问题是我尝试使用另一个函数调用它,但你的解决方案会很快解决它。谢谢