首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用asp WebMethod中的数据填充jquery自动完成

使用asp WebMethod中的数据填充jquery自动完成
EN

Stack Overflow用户
提问于 2015-09-28 18:31:00
回答 1查看 536关注 0票数 1

我的asp.net页面中有一个WebMethod,它返回一个字符串,该字符串表示一个JSON数组,该数组包含我想用作jquery-ui自动完成文本框的源的数据。

代码语言:javascript
复制
[WebMethod]
public static string GetCities(string cityName)
{
    JArray json = new JArray(
        new JObject(new JProperty("label", "label1"), new JProperty("category", "cat1"), new JProperty("value", "v1")),
        new JObject(new JProperty("label", "label2"), new JProperty("category", "cat1"), new JProperty("value", "v2")),
        new JObject(new JProperty("label", "label3"), new JProperty("category", "cat2"), new JProperty("value", "v3")),
        new JObject(new JProperty("label", "label4"), new JProperty("category", "cat3"), new JProperty("value", "v4")));
    return json.ToString();
}

javascript代码:

代码语言:javascript
复制
<script type="text/javascript">
    $(function () {
        $("#txtCity").autocomplete({
            source: function (request, response) {
                var param = { cityName: $('#txtCity').val() };
                $.ajax({
                    url: "WebForm1.aspx/GetCities",
                    data: JSON.stringify(param),
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function (data) { return data; },
                    success: function (data) {
                        response(data.d); //here data.d contains the json array string
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            },
            select: function( event, ui ) {
                $( "#output" ).val( ui.item.value );
                return false;
            },
            minLength: 2//minLength as 2, it means when ever user enter 2 character in TextBox the AutoComplete method will fire and get its source data. 
        });
    });
</script>

但是我的自动完成功能会为JSON字符串中的每个字符生成一个条目。我想我没有正确返回它。

EN

回答 1

Stack Overflow用户

发布于 2015-09-28 18:49:31

想明白了,

代码语言:javascript
复制
success: function (data) {
                        response($.parseJSON(data.d))
                    },

必须解析JSON。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32820854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档