首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery UI自动完成提交onclick结果

jQuery UI自动完成提交onclick结果
EN

Stack Overflow用户
提问于 2011-03-20 09:05:02
回答 2查看 38.3K关注 0票数 14

我一直在试图弄清楚,当人们从自动完成选项中选择结果时,如何提交表单。它需要通过鼠标单击或回车按钮来工作。我看到了一些例子,但总是支离破碎。没有人显示整个函数。

我有下面的代码,但我得到了错误的结果不是一个函数。我不知道如何组合它来做我想做的事情。任何帮助都是非常感谢的。

代码语言:javascript
复制
jQuery(document).ready(function(){  

jQuery("#vsearch").autocomplete("ajax/search.php",
    {
    minLength: 2
}
);
jQuery("#vsearch").result(function(event, data, formatted) {
      jQuery('#vsearch').value( formatted );
      jQuery('#search').submit();
});
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-20 09:21:22

来自:http://api.jqueryui.com/autocomplete/#event-select

select类型:自动完成选择

当从菜单中选择某一项时触发;ui.item指的是选定的项。select的默认操作是用所选项目的值替换文本字段的值。取消此事件将阻止更新值,但不会阻止菜单关闭。

代码示例

提供一个回调函数,将select事件作为init选项进行处理。

$( ".selector“).autocomplete({ select:函数(事件,ui) { ... } });

通过以下类型绑定到select事件: autocompleteselect。

$( ".selector“).bind(”自动完成选择“,function(event,ui) { ... });

因此,您将使用:

编辑:(在用户未选择任何内容的情况下修改)

代码语言:javascript
复制
$("#vsearch").autocomplete({
    source: "ajax/search.php",
    minLength: 2,
    select: function(event, ui) {
        if(ui.item){
            $('#vsearch').val(ui.item.value);
        }
        $('#search').submit();
    }
});

如果我确定你想做什么的话。

票数 30
EN

Stack Overflow用户

发布于 2012-02-25 04:15:33

实际上,您不需要通过ID来定位for元素和表单...因为该信息已经通过事件对象传递给了select函数。最好以这种方式获取表单,因为在一个页面上可能有多个表单要应用自动完成功能。或者,您可能希望在多个元素上自动完成。

另外,另一个答案中的语法也是错误的。JQuery使用.val()而不是.value()来设置输入值。

下面是一个更正的例子:

代码语言:javascript
复制
$("#vsearch").autocomplete({
    source: "ajax/search.php",
    minLength: 2,
    select: function(event, ui) {
        //assign value back to the form element
        if(ui.item){
            $(event.target).val(ui.item.value);
        }
        //submit the form
        $(event.target.form).submit();
    }
});
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5366068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档