jQuery 以编程方式自动完成搜索和 SELECT 第一选择(如果有)
jQuery autocomplete programmatically search and SELECT first choice (if any)
这本来应该很简单,但是 Whosebug 中的 none 解决方案似乎对我不起作用...
使用 jQuery 2.1.0,我使用 Ajax 来源、autoFocus: true 和 select: 函数(事件,ui) { ... } 为我提供 key/value 对组合。
我一开始在输入字段中键入内容,我就得到正确的 DDL 选项,然后我可以使用鼠标 select。
但是,我现在想以编程方式触发自动完成搜索,然后 SELECT 第一个选项(如果可用)。
我这样触发搜索:
Preparer.autocomplete('search', LoginName);
可用选项正确显示,但我似乎无法select第一个以编程方式!
我尝试调用 .select(),我尝试在控件中触发按键 13 和 9,甚至尝试在 setTimeout 函数中执行操作以确保正确呈现对话框!
我什至尝试设置选项 { selectFirst: true },但仍然没有...
还有什么我可以尝试的吗??
如上评论:
您可以触发第一个菜单项的点击:
$("#autocomplete-id").data("ui-autocomplete").menu.element.children().first().click()
请记住:触发 select 也会关闭菜单,这似乎违反直觉。最好拦截 source
中的数据并在那里触发您的自定义回调,而根本不用理会 select
。
搜索
$('#autocomplete-id').data("uiAutocomplete").search($("#autocomplete-id").val());
&
Select
var results = $("#autocomplete-id").data("ui-autocomplete").menu.element.children()
.first().click()
这本来应该很简单,但是 Whosebug 中的 none 解决方案似乎对我不起作用...
使用 jQuery 2.1.0,我使用 Ajax 来源、autoFocus: true 和 select: 函数(事件,ui) { ... } 为我提供 key/value 对组合。
我一开始在输入字段中键入内容,我就得到正确的 DDL 选项,然后我可以使用鼠标 select。
但是,我现在想以编程方式触发自动完成搜索,然后 SELECT 第一个选项(如果可用)。
我这样触发搜索:
Preparer.autocomplete('search', LoginName);
可用选项正确显示,但我似乎无法select第一个以编程方式!
我尝试调用 .select(),我尝试在控件中触发按键 13 和 9,甚至尝试在 setTimeout 函数中执行操作以确保正确呈现对话框!
我什至尝试设置选项 { selectFirst: true },但仍然没有...
还有什么我可以尝试的吗??
如上评论:
您可以触发第一个菜单项的点击:
$("#autocomplete-id").data("ui-autocomplete").menu.element.children().first().click()
请记住:触发 select 也会关闭菜单,这似乎违反直觉。最好拦截 source
中的数据并在那里触发您的自定义回调,而根本不用理会 select
。
搜索
$('#autocomplete-id').data("uiAutocomplete").search($("#autocomplete-id").val());
& Select
var results = $("#autocomplete-id").data("ui-autocomplete").menu.element.children()
.first().click()