【发布时间】:2015-11-13 09:12:57
【问题描述】:
我使用 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);
}
});
});
【问题讨论】:
-
请花时间正确格式化您的代码。它使您和其他人更容易理解。
-
arraytxt1 和 arraytxt2 都是有效的 JSON (jsonlint.com)。您未提供的代码中一定有问题。您是否在开发者控制台中看到任何错误,或者 #txt2 的值没有更新?
-
这段代码中arraytxt1的数据只是举例吗?或者你是在 javascript 中从 php 中获取 json 数据吗?如果是后者,那么您可能需要将 JSON 字符串转换为您在此处拥有的数组格式。
-
对不起@Rory McCrossan 第一次发帖,只是复制并粘贴了代码。道歉。
-
嗨@spaniol6 是的,第二个数组只是为了测试。第一个数组中的字段通过 php 来自数据库,然后进行编码。感谢您的输入。欣赏它。克里斯