4

所以我运行了最新版本的 jQuery 和 UI。我正在使用基本的自动完成调用并返回有效的 JSON(通过 JSONLint 验证)。

    $("input#cust_id").autocomplete({
        source: yoda.app.base + "/assets/cfc/util/autocomplete.cfc?method=cust",
        minLength: 2,
        select: function(event, ui) {
            log(ui.item ? ("Selected: " + ui.item.value + " aka " + ui.item.id) : "Nothing selected, input was " + this.value);
        }
    });

返回数组的值和标签元素在列表中显示为未定义。我可以查看通过 Firebug 返回的结果,并且那里的 JSON 也是正确的。此外,虽然该列表仅显示“未定义”,但它确实显示了与 JSON 中返回的记录相同的次数。

[{"VALUE":"custid1","LABEL":"My Customer Name 1"},{"VALUE":"custname2","LABEL":"My customer name 2"}]
4

1 回答 1

6

您的 JSON 需要如下所示:

[{value:"custid1",label:"My Customer Name 1"},{value:"custname2",label:"My customer name 2"}]

因为键区分大小写:

var obj = {"hello" : "foo"};
alert(obj.HELLO); // undefined
alert(obj.hello); // foo
于 2010-04-26T13:19:46.793 回答