我使用php创建了一个数组,然后我用json编码
$json_array = json_encode($newarray);
在我的jquery中,编码数组似乎形成了正常(我认为??)但是当我尝试使用json数据时 - 没有任何反应?我期待文本框自动完成。
有趣的是 - 如果我使用arraytxt2,它可以工作,但不能使用arraytxt1(通过json_encode创建的那个)。
有关为什么arraytxt1不工作的任何想法?提前谢谢。
$(document).ready(function () {
var arraytxt1 = [{
"equipmentid": "1",
"equipmentmake": "Baxi"
}, {
"equipmentid": "2",
"equipmentmake": "Baxi"
}];
var arraytxt2 = [{
"id": "1",
"label": "aa"
}, {
"id": "2",
"label": "bb"
}, {
"id": "3",
"label": "bbbb"
}, {
"id": "4",
"label": "abab"
}, {
"id": "5",
"label": "cab"
}];
$("#txt1").autocomplete({
source: arraytxt1,
minLength: 1,
select: function (event, ui) {
$("#txt2").val(ui.item.equipmentid);
}
});
});
答案 0 :(得分:1)
自动填充数组对象的正确键是label
和value
。在您的情况下可能不需要value属性。
https://api.jqueryui.com/autocomplete/#option-source
尝试:
var arraytxt1 = [{
"equipmentid": "1",
"label": "Baxi"
}, {
"equipmentid": "2",
"label": "Baxi"
}];