jQuery-UI自动完成提交表单从下拉列表中单击项目

时间:2011-07-08 02:49:53

标签: javascript select bind jquery-autocomplete jquery-ui-autocomplete

我正在使用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>

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:4)

安德鲁是对的,请参阅他提到的the fiddle。如果将带有“ui.item”的部件切换为“ui.item.value”,则select:function()现在可以正常工作。

答案 1 :(得分:0)

是的有效

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

目前,无法通过鼠标或键盘选择自动提交表单的原因以及$(event.target).val(ui.item.value)行,无法提供$_POST数组中的值

答案 2 :(得分:0)

是的,爱丽丝也是对的。您只需在onclick函数中添加此行:

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

其中search_form是表单的ID。