使用另一个参数自动完成

时间:2018-10-04 20:58:04

标签: c# asp.net ajax

我正在为位置名称使用自动填充功能,如图所示

$(document).ready(function () {
       debugger;
       $('#txtLocationName').autocomplete({

           source: 'LocationHandler.ashx?type='+ $("#<%= ddlDivision1.ClientID %> option:selected").val()
          ///LocationHandler.ashx?term=p

        });
    });

自动完成功能应根据在下拉菜单中选择的部门显示名称。

  <td class="auto-style48">
                <asp:DropDownList ID="ddlDivision1" CssClass="form-input-field" runat="server"  ></asp:DropDownList>

            </td>
             <td class="auto-style48">
                <asp:TextBox ID="txtLocationName" runat="server" Width="350px" CssClass="textboxAuto"  Font-Size="12px" />
            </td>

并且在Handler中,我确实有一个用于divisiontype的逻辑。

 public class LocationHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        string term = context.Request["term"] ?? "";
        string type = context.Request["type"] ?? "";

,在类型中,我只会得到“ -1”,而不是选定的值。不知道为什么?请指教!!

请指教!!

1 个答案:

答案 0 :(得分:0)

我固定为在请求中作为查询字符串传递。

<script>
    $(document).ready(function () {
        src = 'LocationHandler.ashx';
        debugger;
        $('#txtLocationName').autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: src,
                    dataType: "json",
                    data: {
                        term: request.term,
                        type: $("#ddlDivision1").val()
                    },
                    success: function (data) {
                        response(data);
                    }
                });
            },
            min_length: 3,
            delay: 300
        });
    });

</script>