简体   繁体   English

我的jQuery自动完成不起作用

[英]my jquery autocomplete not working

i use jquery for create an autocomplete for a textbox, data fetches from an an asmx webservice. 我使用jquery为文本框创建自动完成功能,从asmx网络服务获取数据。 i monitor my code on firebug ,this tool shows request sent and xml response recieved . 我在firebug上监视我的代码,此工具显示已发送请求和已收到xml响应。 but autocomplete not open for textbox :( 但是无法为文本框打开自动完成功能:(
Could someone please tell me why my code for the jquery autocomplete is not working? 有人可以告诉我为什么我的jquery自动完成代码无法正常工作吗?
jquery code: jQuery代码:

<link href="../Script/MainCSS.css" rel="stylesheet" />
<link href="../Script/jquery-ui.css" rel="stylesheet" />
<script src="../Script/jquery-1.10.2.js"></script>
<script src="../Script/jquery-ui.js"></script>
<script type="text/javascript">
    $(function () {
        $('.textBox').autocomplete({
            source: function (request, response) {               
                $.ajax({
                    url: "/Services/BusService.asmx/GetRouteInfo",
                    data: { param: $('.textBox').val() },
                    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 {
                                value: item
                            }
                        }))
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        var err = eval("(" + XMLHttpRequest.responseText + ")");
                        alert(err.Message)
                        // console.log("Ajax Error!");  
                    }
                });
            },
            minLength: 2 //This is the Char length of inputTextBox  
        });
    });
</script>

my c# code: 我的C#代码:

 [WebMethod]
        public string[] GetRouteInfo(string param)
        {
            List<string> list_result = new List<string>();

            AutoTaxiEntities useEntity = new AutoTaxiEntities();

            System.Data.Entity.Core.Objects.ObjectResult<DAL.Model.SP_FIND_ROUTE_ROUTESTOPS_Result> sp_result = useEntity.SP_FIND_ROUTE_ROUTESTOPS(param);

            foreach (DAL.Model.SP_FIND_ROUTE_ROUTESTOPS_Result sp_result_item in sp_result.ToList())
            {
                list_result.Add(sp_result_item.ID + "," + sp_result_item.ITEMTYPE + "," + sp_result_item.TITLE);
            }

            return list_result.ToArray();

        }

Looking at your added script references, i think you have not added autocomplete.js script. 查看您添加的脚本引用,我认为您尚未添加autocomplete.js脚本。 Please add it and try it once. 请添加并尝试一次。 Please click here 请点击这里

 $(document).ready(function () {
        $('#<%=txtSearch.ClientID%>').autocomplete({
            source: function (request, response) {
                $.ajax({
                    type: "POST",
                    url: "/Services/BusWebService.asmx/GetRouteInfo",
                    data: "{ 'param': '" + request.term + "' }",
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function (data) { return data; },
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return {
                                itemid: item.split(',')[0],
                                itemtype: item.split(',')[1],
                                label: item.split(',')[2]
                            }
                        }))
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            },
            minLength: 2,
            select: function (event, ui) {
                $('#<%=hfItem.ClientID%>').val(ui.item.itemid + ',' + ui.item.itemtype + ',' + ui.item.label);
                //$("form").submit();
            }
        });
  });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM