我正在使用带有 EnableLoadONLoad = True 的 Telerik Combobox,即每次最终用户键入一个字母时,服务器端事件都会启动以提取该单词的记录。例如,在下拉框中,如果我输入 America,那么系统将搜索 A,然后是 AM,然后是 AME,依此类推……并提供与这些字母匹配的结果。因此,在上述情况下,系统将 ick 服务端事件 7 次。现在的问题是搜索功能需要一段时间(从 5 到 10 秒拉记录.. 超出我的控制:()我想要的是当最终用户输入某些内容时,我想等待一秒钟看看用户是否还在键入。一秒钟后,我希望系统进行搜索。希望在一秒钟内,最终用户将键入他们需要的任何内容。现在我可以强制用户输入至少 5 个字母,依此类推,但最终用户可以使用单个字母或多个字母进行搜索。他们不想被限制没有。由于业务需要的信件。
问问题
119 次
2 回答
0
默认情况下,它们的组合框上的 itemRequestTimeout 为 300,即十分之三秒。做布莱恩建议的工作,但我发现默认值通常是足够的时间才能导致回发。
此外,如果您MarkFirstMatch="true"
为 ComboBoxes 合并,它将自动转到与文本匹配的项目(如果存在)。
这也应该给你一些其他的选择。
但就在回发发生之前强制用户输入 5 个字母而言,您可能需要执行 onkeyup 和 onkeydown javascript 事件来检查他们是否输入了 5 个字符,然后您可能会导致回发。
或者您可以使用 Telerik 组合框的 OnClientkeyPressing 属性进行检查。
function OnClientKeyPressing(comboBox, args)
{
if (comboBox.get_text().length > 4) {
//Do postback here
}
}
我相信这样的事情会做你想做的事。
于 2012-05-24T21:39:21.407 回答
0
您可以指定一个以 1000 毫秒为单位的“ItemRequestTimeout”,这将告诉组合框在向服务器触发之前等待 1 秒。
于 2012-05-22T14:32:42.627 回答