我在txt_Remarks
中有这个asp.net
文本框,我所做的是使用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 ==它应该再次显示premium,预定义,模式,这次他点击模式,文本框会显示preminum, pattern
并允许他这样工作直到他点击其他地方。
所以,基本上这个自动完成应该基于自定义子字符串工作,我也尝试使用$ .ajax()但没有运气,我甚至无法让它工作的事情..
那么,怎么做呢?
编辑: 类似于stackoverflow中发生的事情当您输入开始输入标签时,它会显示一个列表,当您选择它时,它会输入到框中,然后你可以再次打字并将该标签添加到列表中..