使用 ASp.Net Web 服务进行 JQuery 自动完成

发布于 2024-12-09 07:51:44 字数 1135 浏览 0 评论 0原文

我正在使用 ASP.Net Web 服务开发 JQuery 自动完成功能。 我在 JQuery (JSON) 下拉列表中调用 ASP.Net Web 服务,

 $(document).ready(function () {
    $("#txtTest").autocomplete({ 
         source: function (request, response) {  
             $.ajax({  
                 type: "POST",  
                 contentType: "application/json; charset=utf-8", 
                 url: "Webservice.asmx/GetNames",
                 data: "{'prefix':'" + request.term + "'}",  
                 dataType: "json",  
                 async: true,  
                 success: function (data){  
                    response($.map(data, function(item)
                    { return item ; }));  
                },  
                error: function (result) {  
                   alert("Due to unexpected errors we were unable to load data");  
                }  
             });
         },  
         minLength:2
     });
 });

并且我在自动完成下拉列表中获取输出,如

 {"First":"Steve","Second":"AK"}
 {"First":"Evet","Second":"EV"}
 {"First":"Stevens","Second":"SV"}

如何单独显示“第一个”项目(如 Steve、Evet、Stevens)作为下拉自动完成的输出?

请帮我!

I am working on the JQuery Autocomplete using ASP.Net webservice.
I have ASP.Net webservice being called in JQuery (JSON) drop down as

 $(document).ready(function () {
    $("#txtTest").autocomplete({ 
         source: function (request, response) {  
             $.ajax({  
                 type: "POST",  
                 contentType: "application/json; charset=utf-8", 
                 url: "Webservice.asmx/GetNames",
                 data: "{'prefix':'" + request.term + "'}",  
                 dataType: "json",  
                 async: true,  
                 success: function (data){  
                    response($.map(data, function(item)
                    { return item ; }));  
                },  
                error: function (result) {  
                   alert("Due to unexpected errors we were unable to load data");  
                }  
             });
         },  
         minLength:2
     });
 });

And i am getting the output on the drop of auto-complete as

 {"First":"Steve","Second":"AK"}
 {"First":"Evet","Second":"EV"}
 {"First":"Stevens","Second":"SV"}

How do i display the "First" items alone (Like Steve, Evet, Stevens) as the output of the drop down auto-complete?

Please help me!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

只是偏爱你 2024-12-16 07:51:44

您需要查看 AutoComplete 方法上的 formatItem 选项 - 试试这个

formatItem: function(row, i, n) {
      return row.First;
  }

You need to look at the formatItem option on the AutoComplete method - try this

formatItem: function(row, i, n) {
      return row.First;
  }
纸伞微斜 2024-12-16 07:51:44

这可能会成功

   success: function (data)
    {  
        response($.map(data, function (item)
         {
             return { label: item.First, value: item.First}
         }))
    });

this would probably do the trick

   success: function (data)
    {  
        response($.map(data, function (item)
         {
             return { label: item.First, value: item.First}
         }))
    });

看看我对此的回答: Jquery Autocomplete 2 Fields

但使用您的值而不是字段中的“A”和“B”。

此外,您(可能)需要一个转换器来处理 asp.net 数据:

$.ajax({
    url: "Webservice.asmx/GetNames",
    dataType: "jsond",
    type: "POST",
    contentType: "application/json",
    converters: {
        "json jsond": function(msg)
        {
            return msg.hasOwnProperty('d') ? msg.d : msg;
        }
    },
...

Take a look at my answer to this one: Jquery Autocomplete 2 Fields

but use your values instead of "A" and "B" in the fields.

In addition, you (might) need a converter to handle the asp.net data:

$.ajax({
    url: "Webservice.asmx/GetNames",
    dataType: "jsond",
    type: "POST",
    contentType: "application/json",
    converters: {
        "json jsond": function(msg)
        {
            return msg.hasOwnProperty('d') ? msg.d : msg;
        }
    },
...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文