jQuery UI自动完成 – 如何获取用户输入的值

免责声明:我已经完成了相关问题,无法找到解决此特定问题的方法。

场景是这样的:

根据用户是从下拉列表中选择了建议还是没有匹配项,我想执行不同的jQuery ajax操作。 我该怎么做呢? 我被困的地方是如何捕获当前在自动完成输入文本框中的输入?

谢谢

说实话,我不确定。 查看文档, 搜索事件应该有效。

编辑它真的有助于阅读文档。 :d

搜索方法。

触发搜索事件,当数据可用时,将显示建议; 可以由类似选择框的按钮用于在单击时打开建议。 如果未指定value参数,则使用当前输入的值。 可以使用空字符串和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方法:

  $("#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