jQuery自动完成插件上的多个列和结果

本文关键字:结果 插件 jQuery | 更新日期: 2024-09-24 19:52:06

我正在使用jQuery自动完成插件。不是jQueryUI自动完成。我似乎找不到任何关于jQuery自动完成的好说明。

有人知道如何获得多个搜索参数和结果吗
即用户可以搜索ID、FNAME、LNAME,自动完成会相应地显示结果吗?

所以搜索JON自动完成返回JON DOE N41,JONATHAN MILLER Q66

搜索Q6自动完成返回乔纳森·米勒Q66,迈克·坎贝尔Q67等

这是我当前的代码。

ashx处理程序:

public class Search_CS : IHttpHandler {
    public void ProcessRequest (HttpContext context) {
        string prefixText = context.Request.QueryString["q"];
        using (SqlConnection conn = new SqlConnection())
        {
            conn.ConnectionString = ConfigurationManager
                    .ConnectionStrings["Rollup2ConnectionString"].ConnectionString;
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = "select NUID from T_USER where " +
                "NUID like @SearchText + '%'";
                cmd.Parameters.AddWithValue("@SearchText", prefixText);
                cmd.Connection = conn;
                StringBuilder sb = new StringBuilder(); 
                conn.Open();
                using (SqlDataReader sdr = cmd.ExecuteReader())
                {
                    while (sdr.Read())
                    {
                        sb.Append(sdr["NUID"])
                            .Append(Environment.NewLine);
                    }
                }
                conn.Close();
                context.Response.Write(sb.ToString()); 
            }
        }
    }
    public bool IsReusable {
        get {
            return false;
        }
    }
}

这是我的HTML:

<script src="Scripts/jquery.autocomplete.js" type="text/javascript"></script>
<link href="Autocomplete/jquery.autocomplete.css" rel="stylesheet" type="text/css" />  
<script type="text/javascript">
    $(document).ready(function() {
        $("#<%=txtSearch.ClientID%>").autocomplete('Autocomplete/Search_CS.ashx', {width: 400, multiple: true, matchContains: true });
    });
</script> 

jQuery自动完成插件上的多个列和结果

这将与您的SQL查询有关。您将希望以数据库中的这些列为目标,并像NUID一样搜索所有列。

cmd.CommandText = "select NUID, FNAME, LNAME from T_USER where NUID like @SearchText + '%' OR FNAME like @SearchText + '%' OR LNAME like @SearchText + '%'";