3

我正在使用jQueryUI autocomplete()函数,我无法弄清楚如何让我的表单提交时选择一个项目。jQuery-UI自动完成提交表单onclick项目从下拉列表

我认为问题是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> 

任何援助将不胜感激!

+0

是否有任何控制台错误?看看萤火虫。 – david

+0

你也从未接受过你的问题的答案,所以人们可能不太愿意帮助你。 – david

+1

@tim:你的代码如果复制粘贴(减去AJAX):http://jsfiddle.net/uXHCQ/有一个调整('ui.item.value'而不是'ui.item')。当你说你的表格没有提交时,你的意思是什么? –

回答

4

安德鲁是正确的,见他提到的the fiddle。如果你用“ui.item”切换零件到“ui.item.value”,select:function()现在可以很好地工作。

0

是它的工作原理

除如果你希望在用行动称为页面的服务器端脚本来获取值...

现在,没有办法找到为什么自动在通过鼠标或键盘选择后提交表格,并且$(event.target).val(ui.item.value)行,不要传递$_POST数组中的值

0

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

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

其中search_form是表单的ID。