【发布时间】:2012-09-01 07:56:53
【问题描述】:
我在asp.net 中有这个txt_Remarks 文本框,我所做的是使用 ajaxToolkitLibrary 来指定这样定义的自动完成列表的来源,
[WebMethod]
public string[] GetItemRemarks(string prefixText, int count)
{
if (count == 0)
{
count = 10;
}
Random random = new Random();
List<string> items = new List<string>(count);
SqlCommand con = new SqlCommand();
SqlDataReader sdr = null;
try
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT REMARKS FROM mstRemark WHERE BranchId='"+ Globals.BranchID +"' AND Id<>1 AND REMARKS like '%" + prefixText.Trim() + "%' ";
sdr = ExecuteReader(cmd);
while (sdr.Read())
{
items.Add("" + sdr.GetValue(0));
}
sdr.Close();
sdr.Dispose();
}
catch (Exception )
{
}
return items.ToArray();
}
我想要什么,在选择项目后说 premium user 而不是结束自动完成,在此处放置一个逗号,并根据用户现在输入的内容向用户显示新的项目列表。
说,他开始输入 p== 它显示高级、预定义、模式等。当他单击高级时,它被设置在文本框中,然后在那里放一个逗号,他可以再次输入,说他再次键入 p== 它应该再次显示高级、预定义、模式,这次他单击模式,文本框将显示 preminum, pattern 并允许他像这样工作,直到他单击其他地方。
所以,基本上这个自动完成应该基于自定义子字符串工作,我也尝试使用 $.ajax() 但没有运气,我什至无法让它工作..
那么,如何做到这一点呢?
编辑: 类似于 stackoverflow 中发生的事情 当您输入开始输入标签时,它会显示一个列表,当您选择它时,它会输入到框中,并且您可以再次键入并将该标签添加到列表中..
【问题讨论】:
标签: jquery asp.net ajax ajaxcontroltoolkit