Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery UI自动完成-如何获取用户输入的值_Jquery_User Interface_Autocomplete - Fatal编程技术网

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

jQuery UI自动完成-如何获取用户输入的值,jquery,user-interface,autocomplete,Jquery,User Interface,Autocomplete,免责声明:我已经查看了相关问题,无法找到此特定问题的解决方案 情景是这样的: 根据用户是从下拉列表中选择建议,还是没有匹配项,我希望执行不同的jQuery ajax操作。我该怎么做?我遇到的问题是如何捕获当前在“自动完成输入”文本框中的输入 谢谢老实说,我不确定。查看文档,搜索事件应该可以正常工作 编辑阅读文档确实很有帮助:D 搜索方法 触发搜索事件,当 数据可用,然后将显示 建议;可以由一个 选择类似方框的按钮以打开对话框 单击时的建议。如果没有值 参数,则当前 使用输入的值。可以称为 使用空

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

情景是这样的:

根据用户是从下拉列表中选择建议,还是没有匹配项,我希望执行不同的jQuery ajax操作。我该怎么做?我遇到的问题是如何捕获当前在“自动完成输入”文本框中的输入


谢谢

老实说,我不确定。查看文档,搜索事件应该可以正常工作

编辑阅读文档确实很有帮助:D

搜索方法

触发搜索事件,当 数据可用,然后将显示 建议;可以由一个 选择类似方框的按钮以打开对话框 单击时的建议。如果没有值 参数,则当前 使用输入的值。可以称为 使用空字符串和minLength:0 显示所有项目


要捕获当前在自动完成输入文本框中的输入,您可以使用
选择
方法,如下所示:

如果
ui.item
有一个值,则表示某个内容已匹配(匹配的值在其中)


如果您想要用户键入的内容,请使用
this.value

我已连接更改事件,为了进行测试,我在其中放置了一个警报框。似乎没有任何效果:(希望搜索对您有用。基本上,我只是在ajax对象中放置了一个if语句。如果在搜索选项中使用$.ajax,您可能也会这样做。我的选择如下所示:select:function(event,ui){var normalText=ui.item?ui.item.label.replace(/()/gi'):$(this).value;var myTargetUrl=“CreateNew/CreateNew?newTitle=“+normalText;$('#')).val(normalText);$.ajax({type:'POST',url:myTargetUrl});警报(myTargetUrl);返回false;}但是警报对话框从来没有出现过,当我输入一个不存在的值并在什么时候按我有权访问输入的值时,我尝试了搜索事件、更改事件等,但没有结果。我不知道为什么警报没有出现。也许ajax调用引发了一个异常。但是我在这里做了一个示例,它确实出现了(即使ajax调用没有指向任何内容)。也许该示例页面可以帮助您解决问题。如果没有,请使用更多详细信息编辑您的问题或创建新问题。
$( ".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.
         }
       }

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