首页 > 解决方案 > 自动完成文本框在 asp.net 中不起作用

问题描述

这是我的 JavaScript

 <script type="text/javascript">
     $(function () {
         $('#<%=txtCompanyName.ClientID%>').autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "PurchaseOrder.aspx/GetLocationName",
                    data: "{ 'locName':'" + request.term + "'}",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return { value: item }
                        }))
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            }
        });
    });

这是我的文本框

<td><div class="ui-widget" style="text-align:left">
                <asp:TextBox ID="txtCompanyName" runat="server" Width="350px" Font-Size ="12px" />
        </div></td>

CSS代码

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static List<string> GetLocationName(string locName)
    {
        List<string> allLocations = new List<string>();

        allLocations.Add("comp1");
        allLocations.Add("comp2");
        allLocations.Add("comp3");
        allLocations.Add("comp4");
        allLocations.Add("comp5");

        return allLocations;
    }

我正在使用上面的代码在 asp.net 中创建一个自动完成文本框,它在我当前的项目中不起作用,但在一个新项目中,这段代码可以完美运行。

标签: javascriptc#asp.netajaxjquery-ui-autocomplete

解决方案


推荐阅读