Javascript 单击下拉列表中的项目后,jQuery UI自动完成提交表单

Javascript 单击下拉列表中的项目后,jQuery UI自动完成提交表单,javascript,select,bind,jquery-autocomplete,jquery-ui-autocomplete,Javascript,Select,Bind,Jquery Autocomplete,Jquery Ui Autocomplete,我正在使用jQueryUIautocomplete()函数,但我不知道如何在选择项目时提交表单 我认为问题出在select:event上,但我是jQueryUI的新手,不知道如何实现这一点 以下是我的代码,在其他情况下可以正常工作: <script type="text/javascript"> $(document).ready(function() { $(function() {

我正在使用jQueryUI
autocomplete()
函数,但我不知道如何在选择项目时提交表单

我认为问题出在
select:event
上,但我是jQueryUI的新手,不知道如何实现这一点

以下是我的代码,在其他情况下可以正常工作:

            <script type="text/javascript">
            $(document).ready(function() {
                $(function() {
                    $( "#search_box" ).autocomplete({
                        source: function(request, response) {
                            $.ajax({ url: "<?php echo site_url('autocomplete/suggestions'); ?>",
                            data: { term: $("#search_box").val()},
                            dataType: "json",
                            type: "POST",
                        success: function(data){
                            response(data);
                        },
                        select: function (event, ui) {
                                $(event.target).val(ui.item);
                                $('#search_form').submit();
                                return false;
                            }
                        }); 
                    },          
                    minLength: 1 
                    });
                });
            }); 
            </script>

$(文档).ready(函数(){
$(函数(){
$(“#搜索框”)。自动完成({
来源:功能(请求、响应){
$.ajax({url:“”,
数据:{term:$(“#搜索框”).val(),
数据类型:“json”,
类型:“POST”,
成功:功能(数据){
答复(数据);
},
选择:功能(事件、用户界面){
$(event.target).val(ui.item);
$('search_form')。提交();
返回false;
}
}); 
},          
最小长度:1
});
});
}); 
任何帮助都将不胜感激

安德鲁是对的,见他提到的。如果将带有“ui.item”的部件切换为“ui.item.value”,则选择:函数()现在可以正常工作。

是,它可以工作

除非您希望在action调用的页面中获取服务器端脚本中的值


现在,无法找到为什么在通过鼠标或键盘选择后自动提交表单,以及
$(event.target).val(ui.item.value)
行,不要在
$\u POST
数组中传递值是的,Alice也是正确的。您只需在onclick函数中添加此行:

 $('#search_form').submit();

其中search\u form是表单的id。

是否存在控制台错误?查看firebug。另外,您从未接受过您的问题的答案,因此人们可能不太愿意帮助您。@tim:如果复制粘贴(减去AJAX),您的代码可以正常工作:只需一次调整(
ui.item.value
而不是
ui.item
)。你说你的表单不提交是什么意思?与此查询无关,还有其他想法吗?嗨,安德鲁,我的意思是,我希望表单在选择一个项目后提交,就像谷歌那样的标准做法。。。