Javascript 使用多个本地JSON数组作为结果的JQUERY自动完成
使用JQUERY Autocomplete,我希望根据其他用户选择触发的函数调用,使用JSON_1或JSON_2替换源数据。我不想向服务器发出GET请求。我想要一个类似于的加载函数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
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有时只需要另一双眼睛。如果我的答案对您有效,请将其标记为接受绿色复选标记。谢谢