Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Jquery 如何在每个新请求中使用Ajax数据源使select2下拉列表?_Jquery_Jquery Select2 - Fatal编程技术网

Jquery 如何在每个新请求中使用Ajax数据源使select2下拉列表?

Jquery 如何在每个新请求中使用Ajax数据源使select2下拉列表?,jquery,jquery-select2,Jquery,Jquery Select2,我正在为选择框内的多个optgroup使用select2js。。我从AJAX成功调用中获得格式化的JSON,下面是我的代码。它附加到选择框,但与现有数据合并。我只想在选择框中显示返回的Ajax数据。。我尝试过选择销毁和重新序列化,但它不起作用。请帮助我了解如何使新数据仅填充在select2中 问题是,现有的选择框并没有替换为新数据,只是添加了旧数据 您需要在添加新项目之前选择我使用的一个按钮来模拟ajax调用: var结果=[{ text:ClientName+版本数据是AJAX, 子项:[{

我正在为选择框内的多个optgroup使用select2js。。我从AJAX成功调用中获得格式化的JSON,下面是我的代码。它附加到选择框,但与现有数据合并。我只想在选择框中显示返回的Ajax数据。。我尝试过选择销毁和重新序列化,但它不起作用。请帮助我了解如何使新数据仅填充在select2中

问题是,现有的选择框并没有替换为新数据,只是添加了旧数据

您需要在添加新项目之前选择我使用的一个按钮来模拟ajax调用:

var结果=[{ text:ClientName+版本数据是AJAX, 子项:[{id:test1,text:test1,disabled:true}{ id:test2, 文本:test2, 选择:正确, 禁用:false },{id:test3,text:test3,disabled:true}] }, { 文本:变体, 子项:[{id:1_变量,text:single},{id:2_变量,text:dual}] }]; $'client1_select'.select2{data:result}; $'btn'。单击,函数e{ $client1_select.empty.select2{data:result}; } 点击我
@gaetanoM数据:结果没有任何重复项。。这只是最新的数据。。但是它附加到现有的选择框值上,这就是问题所在。我确信没有重复项。。这是结果数据{result:[{text:ClientName+版本数据是AJAX,子项:[{id:test1,text:test1,disabled:true},{id:test2,text:test2,selected:true,disabled:false},{id:test3,text:test3,disabled:true}},{text:Variant,子项:[{id:1_Variant,text:single},{id:2_Variant,text:dual}}@gaetanoM问题是一个现有的选择框并没有用新数据替换,只是附加了旧数据。让我们来看看。
$.post('/get_ajax_data/',{custom_param:1}, function(data){ 
        var result = data.result; 
        $("#client1_select").select2({ data:result }); 
        $('#client1_select').trigger("change"); 
    });