【发布时间】:2011-03-23 00:20:06
【问题描述】:
免责声明:我已经查看了相关问题,但找不到此特定问题的解决方案。
场景是这样的:
根据用户是从下拉列表中选择了建议还是没有匹配项,我想执行不同的 jQuery ajax 操作。我该怎么做呢?我卡住的地方是如何捕获当前在自动完成输入文本框中的输入?
谢谢
【问题讨论】:
标签: jquery user-interface autocomplete
免责声明:我已经查看了相关问题,但找不到此特定问题的解决方案。
场景是这样的:
根据用户是从下拉列表中选择了建议还是没有匹配项,我想执行不同的 jQuery ajax 操作。我该怎么做呢?我卡住的地方是如何捕获当前在自动完成输入文本框中的输入?
谢谢
【问题讨论】:
标签: jquery user-interface autocomplete
说实话,我不确定。查看文档 search 事件应该可以工作。
编辑 阅读文档真的很有帮助。 :D
搜索方法。
触发搜索事件,当 数据可用,然后将显示 建议;可以由一个 类似选择框的按钮来打开 点击时的建议。如果没有价值 参数被指定,当前 使用输入的值。可以叫 使用空字符串和 minLength: 0 显示所有项目。
$( ".selector" ).autocomplete({
search: function(event, ui) {
$.ajax{
//Your ajax parameters...
success: function(data) { //No idea what format your data is in...
if(data['status'] == false) { //there is no result
//return your data.
//Trigger the events you want if the item does no exist.
}
else if(data['status'] == true){
//return data normally.
}
}
}
}
});
【讨论】:
要捕获当前在自动完成输入文本框中的输入,您可以使用select 方法,如autocomplete remote example:
$("#birds").autocomplete({
source: "search.php",
minLength: 2,
select: function(event, ui) {
log(ui.item ? ("Selected: " + ui.item.value + " aka " + ui.item.id) : "Nothing selected, input was " + this.value);
}
});
如果ui.item 有值,则表示有匹配的内容(并且匹配的值在其中)。
如果您想要用户输入的内容,请使用this.value。
【讨论】: