Javascript 使用多个本地JSON数组作为结果的JQUERY自动完成

Javascript 使用多个本地JSON数组作为结果的JQUERY自动完成,javascript,jquery,json,Javascript,Jquery,Json,使用JQUERY Autocomplete,我希望根据其他用户选择触发的函数调用,使用JSON_1或JSON_2替换源数据。我不想向服务器发出GET请求。我想要一个类似于的加载函数 function loadAutoComplete(sourceType){ if (sourceType == "JSON1" ) { //Load Autocomplete with JSON_1 Data; }else{ //Load Autocomplete wi

使用JQUERY Autocomplete,我希望根据其他用户选择触发的函数调用,使用JSON_1或JSON_2替换源数据。我不想向服务器发出GET请求。我想要一个类似于的加载函数

 function loadAutoComplete(sourceType){
    if (sourceType == "JSON1" ) {
       //Load Autocomplete with JSON_1 Data;
    }else{
       //Load Autocomplete with JSON_2 Data;
    }
 }



//JSON_1 and JSON_2 are populated at onload with a GET Request

JSON_1 = "[{"value":"-1","label":"(0000:0000) No Filter"},{"value":"-6585:QAP","label":"(-6585\/QAP) Acme QAP - "},{"value":"6235:QAP","label":"(6235\/QAP) Weaver and Tidwell L.L.P. - "},{"value":"6244:QAP","label":"(6244\/QAP) EcoEngineers - "},{"value":"6246:QAP","label":"(6246\/QAP) Genscape QAP - "},{"value":"6247:QAP","label":"(6247\/QAP) RINtrust QAP - "}]";

    JSON_2 = "[{"value":"-1","label":"(0000:0000) No Filter"},{"value":"3017:80107","label":"(3017\/80107) Texas Green Manufacturing LLC - Texas Green Manufacturing"},{"value":"3052:70005","label":"(3052\/70005) VITOL INC - VITOL \/PADD V (RFS2)"},{"value":"3052:70115","label":"(3052\/70115) VITOL INC - KINDER MORGAN - CARSON"}]";



        $("#filterCIDFID").autocomplete({
                //minLength: 0,

                source: function (request, response) {
                    //alert(ac_data);
                    response(ac_data);
                },
                focus: function (event, ui) {
                    $("#filterCIDFID").val(ui.item.label);
                    return false;
                },
                select: function (event, ui) {
                    $("#val_filterCIDFID").val(ui.item.value);
                    return false;
                }
            }).data("ui-autocomplete")._renderItem = function (ul, item) {
                return $("<li>").append("<a>" + item.label + "</a>").appendTo(ul);
            };
非常感谢您的帮助。
感谢J

$filterCIDFID.autocomplete{};在呈现页面时激发。在渲染时,它将源文件附加到指定的ID

首先,我将自动完成设置为“默认”源

然后,在选择其他应更改自动完成源的按钮时,销毁自动完成并使用新源再次添加它

$( "#filterCIDFID" ).autocomplete({
//this is your default source
  source: [ "stuff", "cool", "default", "notthesame", "chicken", "pot", "pie" ]
});

$('#someuserselection').on('change', function() {
 if($(this).val()=='use_other_source'){
   $( "#filterCIDFID" ).autocomplete( "destroy" );
    $( "#filterCIDFID" ).autocomplete({
      //this is your OTHER source
       source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
    });
}
});

格雷格:非常感谢你的回答。我可能看了半打这个解决方案,但在盒子里太远了,我看不到解决方案。@Jim\M有时只需要另一双眼睛。如果我的答案对您有效,请将其标记为接受绿色复选标记。谢谢