Javascript Jquery只能完成一次
我有一个类别列表,我想发送id作为参数来获取子类别 但我想将响应保存到一个数组中,我不想对evevry autcomplete进行ajax调用..就在我从列表中更改项目时。我想另存为数组,因为如果每次都无法显示请求(例如,仅显示一项),则会附加所有子类别 这是我的实际代码Javascript Jquery只能完成一次,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个类别列表,我想发送id作为参数来获取子类别 但我想将响应保存到一个数组中,我不想对evevry autcomplete进行ajax调用..就在我从列表中更改项目时。我想另存为数组,因为如果每次都无法显示请求(例如,仅显示一项),则会附加所有子类别 这是我的实际代码 $('#category').change(function(){ var category_id = $(this).val(); console.log(category_id);
$('#category').change(function(){
var category_id = $(this).val();
console.log(category_id);
$("#type").autocomplete({
source: function (request, response) {
$.ajax({
url: "/get-sub-by-cat",
type: "POST",
data: {
'category_id': category_id
},
success: function (data) {
// console.log(data);
response($.map(data.data.subcategories, function (item) {
console.log(item.name);
return {
label: item.name,
value: item.name,
id: item.id
};
}));
}
});
},
select: function (event, ui) {
$('#type').val(ui.item.value);
var id_subcategory= ui.item.id;
$("#subcat").val(id_subcategory);
},
change: function (event, ui) {
if (!ui.item) {
this.value = '';
$("#err-message").remove();
$(".type-label").before("<p id='err-message' class='col-xs-12 no-padding' style='color:red;margin-bottom:0;'>Please select only from suggested options</p>");
}
else{
$("#err-message").hide();
}
},
autoFocus: true
});
});
我认为您不需要自己保存响应,因为浏览器应该缓存响应。@George我怎么做?以最好的方式?