我希望进行自动填充搜索输入,当用户选择项目时,他会被重定向到网络上的某个页面。 我有一个包含名称和URL的数据库。到目前为止,我已经设法从数据库中获取名称,自动完成功能确实有效。事实是,我无法弄清楚如何将select事件与名称的特定Url建立联系。
我正在使用asp.net:
我的.ASHX文件:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/javascript";
string cnString = "cnnstringlocation";
string sql = "SELECT Name FROM [Table] WHERE Name LIKE '%'+@term+'%' ";
SqlCommand cmd = new SqlCommand(sql, new SqlConnection(cnString));
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@term", context.Request.QueryString["term"]);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
string[] items = new string[dt.Rows.Count];
int ctr = 0;
foreach (DataRow row in dt.Rows)
{
items[ctr] = (string)row["Name"];
ctr++;
}
context.Response.Write(new JavaScriptSerializer().Serialize(items));
}
自动完成查询(这很简单,我已经做了几次尝试搞乱数据库并更改源代码,所以我也可以访问Urls但没有任何运气)
$('#tags').autocomplete({
source: 'Autocomplete.ashx'
});
我对jQuery很新,但我知道源代码不仅应包含重新命名Names的字符串,还应包含每个名称的Url。我无法在任何地方找到正确的语法。 编辑:我想我可以创建另一个.ASHX文件,它将触发onselect然后返回所需的特定URL。这是一种正确的方法吗?有更简单的方法吗? 感谢您对此事的任何启发。
答案 0 :(得分:0)
使用select函数,然后您可以在选择此处后重定向参考URL