使用ASP.NET Web服务的jQuery AutoComplete(jQuery UI 1.8rc3)
发布时间:2020-12-16 00:07:14 所属栏目:asp.Net 来源:网络整理
导读:目前,当从.ashx处理程序返回XML时,我有这个版本的自动完成控件. xml看起来像这样: ?xml version="1.0" encoding="UTF-8" standalone="no" ? StatesState CodeCA/Code NameCalifornia/Name /StateState CodeNC/Code NameNorth Carolina/Name /StateState Cod
目前,当从.ashx处理程序返回XML时,我有这个版本的自动完成控件. xml看起来像这样:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <States> <State> <Code>CA</Code> <Name>California</Name> </State> <State> <Code>NC</Code> <Name>North Carolina</Name> </State> <State> <Code>SC</Code> <Name>South Carolina</Name> </State> 自动完成代码如下所示: $('.autocompleteTest').autocomplete( { source: function(request,response) { var list = []; $.ajax({ url: "http://commonservices.qa.kirkland.com/StateLookup.ashx",dataType: "xml",async: false,data: request,success: function(xmlResponse) { list = $("State",xmlResponse).map(function() { return { value: $("Code",this).text(),label: $("Name",this).text() }; }).get(); } }); response(list); },focus: function(event,ui) { $('.autocompleteTest').val(ui.item.label); return false; },select: function(event,ui) { $('.autocompleteTest').val(ui.item.label); $('.autocompleteValue').val(ui.item.value); return false; } }); 出于各种原因,我宁愿调用ASP.NET Web服务,但我无法让它工作.要切换到服务(我正在做本地服务以保持简单),自动完成代码的开头是: $('.autocompleteTest').autocomplete( { source: function(request,response) { var list = []; $.ajax({ url: "/Services/GeneralLookup.asmx/StateList", 此代码位于站点根目录的页面上,GeneralLookup.asmx位于名为Services的子文件夹中.但是Web服务中的断点永远不会被命中,并且不会生成自动完成列表.如果它有所不同,来自asmx的XML是: <?xml version="1.0" encoding="utf-8" ?> <string xmlns="http://www.kirkland.com/"><State> <Code>CA</Code> <Name>California</Name> </State> <State> <Code>NC</Code> <Name>North Carolina</Name> </State> <State> <Code>SC</Code> <Name>South Carolina</Name> </State></string> 功能相同,因为我从未在映射代码中使用根节点的名称.我没有在jQuery文档中看到有关从此控件调用.asmx服务的任何内容,但.ajax调用是一个.ajax调用,对吧? 我尝试过.asmx(?/ Services /)的各种不同路径,我甚至将服务移到同一路径以消除这些问题.两者都没有运气. 有任何想法吗? 解决方法
我通过使用JSON获得了使用.asmx的自动完成功能.这是我做的一个例子:
JavaScript的: $("#tbNameFilter").autocomplete({ source: function (request,response) { $.ajax({ url: "/Services/AutocompleteService.asmx/Aoi_Autocomplete",data: "{ 'q': '" + request.term + "','limit': '10' }",dataType: "json",type: "POST",contentType: "application/json; charset=utf-8",dataFilter: function (data) { return data; },success: function (data) { response($.map(data.d,function (item) { return { label: item.Name,value: item.Name } })) } }); },minLength: 1 }); 网络服务: [WebMethod] public List<FAD_Aoi> Aoi_Autocomplete(String q,int limit) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC在会话中保存令牌
- asp.net – 将下拉列表绑定到gridview中的editItemTemplate
- 单声道和ASP.NET身份验证
- asp.net-mvc-4 – 使用Bootstrap创建数据验证错误
- 无法使用ASP.NET AJAX从JSON反序列化Nullable KeyValuePair
- asp.net – 使用Post后面的Post方法重定向到另一个页面
- asp.net-mvc-2 – 如何从ASP.NET页面运行冗长的任务?
- asp.net-mvc – 在MVC4.0中使用分页实现Category / Sub Cat
- asp.net-mvc-3 – 添加属性以选择列表选项
- asp.net-mvc – FormsAuthentication.RedirectFromLoginPag
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC实体框架关系绑定
- 如何在ASP.NET MVC网站中为cookie设置“安全”标
- asp.net-mvc – MVC HTTPS localhost Chrome连接
- asp.net-mvc-4 – ASP.Net MVC 4如何在没有密码的
- asp.net-mvc – asp.net mvc HttpPostedFileBase
- ASP.NET MVC4 WebAPI和Posting XML数据
- asp.net-mvc – Html.Actionlink作为Button效果
- asp.net – iis 7.0,模块订单更改
- DxPackNet 1.打开摄像头
- 如何在ASP.Net中设置TextBox的默认按钮?
热点阅读