<script>
    $(document).ready(function() {
        var matchfield = "<%=MatchField %>"
        var MatchFieldAlias = "<%=MatchFieldAlias %>";
        var len = matchfield.split(',').length;
        var dbfield = "<%=DBField %>";
        var tablename = "<%=TableName %>";
        var DisplayItemField = "<%=DisplayItemField %>";
        var SaveField = "<%=SaveField %>";        var url = '<%=ResolveUrl("~/Ajax/AjaxHandler.aspx") %>';
        $("#txtValue").autocomplete(url, {
            minChars: 0,
            matchSubset: true,
            dataType: "json",
            extraParams: { matchfield: matchfield, dbfield: dbfield, tablename: tablename },
            matchContains: true,
            max: 10000,
            width: $("#txtValue").width() * len,
            parse: function(data) {
                //alert(data);
                var obj = data;
                var rows = [];
                for (var i = 0; i < obj.length; i++) {                    rows[rows.length] = {
                        data: obj[i], //这里data是对象数组
                        value: obj[i].id,
                        result: obj[i].val
                    };                }
                return rows;
            },            formatItem: function(row, i, max) {
                var matchfieldarr = matchfield.split(',');
                var MatchFieldAliasarr = MatchFieldAlias.split(',');
                var len = matchfieldarr.length;
                var str = "";                for (var i = 0; i < len; i++) {
                    str += " " + MatchFieldAliasarr[i] + ":" + row[matchfieldarr[i]];                }
                str = str.substr(1);
                // return row[DisplayItemField];
                return str;
            },
            formatMatch: function(row, i, max) {                var match = matchfield.split(',');
                var str = "";
                for (var i = 0; i < match.length; i++) {
                    str += " " + row[match[i]];
                }                str = str.substr(1);                return str;
            },
            formatResult: function(row) {
                //alert(row[DisplayItemField]);
                return row[DisplayItemField];
            }
        });        $("#txtValue").result(function(event, data, formatted) {
            $("#txtValue").next().remove();
            var id = data[SaveField];
            var name = data[DisplayItemField];
            $("#txtValue").val(name);
            var html = "<input type='hidden' value='" + id + "'  name='<%=ClientHiddenName %>'  id='<%=ClientHiddenName %>'  />";
            $("#txtValue").after(html)        });    });
</script>
以上是代码,我是通过传url 即时检索的  比如 ,我检索用户表,我输入用户名“张”  就能在下拉框中显示姓张的所有人,现在有个问题就是:如果后台返回时json数据不多的话 会正常,如果数据量大  就出不来数据  请达人们指点!!