我有一个类别列表,我想发送id作为参数来获取子类别。
但是我想将响应保存到一个数组中,我不想让evevry autcomplete的ajax调用。只是当我从列表中更改项目时。我想保存为数组,因为如果我每次都在执行请求,我只能显示一个项目,我会附加所有子类别。
这是我的实际代码
$('#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
});
});