json与自动完成?

时间:2010-03-22 23:46:25

标签: jquery json

我正在使用Jquery Autocomplete

我也在使用formatItem。我想输出

<json.key: json.value

Name: Adam

然而,我无法使用第4个参数得到json数据,我得到完整的json字符串作为第4个参数和一个结果。我如何使用json?是推荐的另一个自动完成? (这个看起来很不错......)

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

我正在使用带有此代码的jQuery UI:

function initAutocomplete() {
        $("#tbDevices").autocomplete("Static/ui.autocomplete/GetDevices.ashx", {
            width: 160,
            selectFirst: false,
            max: 100,
            autoFill: true,
            matchContains: true,
            highlightItem: true,
            parse: function(data) {
                return $.map(eval(data), function(row) {
                    return {
                        data: row,
                        lable: row.lable, //value being searched for
                        value: row.value //value in text input
                    }
                });
            },
            formatItem: function(row, i, max, term) {
                return "<span style='font-size: 110%;'>" + row.lable + "</span><br/>" + "ID: " + row.value;
            },
            formatResult: function(row, i, max) {
                return row;
            }
        }).result(function(event, item) {
            document.getElementById('#hdnChosenDevice').value = item.value;
            $('#tbDevices').val(item.lable);
        });
    }   

ashx文件返回一个带有json的字符串:

[{"lable":"device1","value":"01"},{"lable":"device2","value":"02"}]

答案 2 :(得分:2)

我怀疑这仍然与这个问题相关,但为了完整起见,我将包括仍然存在(并积极开发)的独立jQuery自动完成插件:

http://code.google.com/p/jquery-autocomplete/

答案 3 :(得分:0)


您无法更改json格式,因为它是标准格式。由于很难在服务器端构建它,我的建议是去寻找一个JSON api 您无需担心格式问题 还要确保将响应设置为“application / json”