【问题标题】:JQuery auto complete and form auto submitJQuery 自动完成和表单自动提交
【发布时间】:2012-05-18 09:30:08
【问题描述】:

我正在使用 JQuery 自动完成 ( jquery.autocomplete.js )。 我想知道一旦选择了一个项目,我该如何提交表单? 目前,当一个项目选择时,您必须两次键入两次,一次 将项目放入搜索字段,并提交一次搜索。 ID 喜欢在第一次进入或鼠标选择项目时提交搜索。

我怎样才能使用它来提交表单???? 这是我的代码::

$(function() {
     $("#artist" ).autocomplete({
     source: function( request, response ) {
            $.ajax({
                url: "http://",
                dataType: "jsonp",
                data: {
                    results: 12,

                    format:"jsonp",
                    name:request.term
                },

这是形式::

<form id="mainSearchForm" onSubmit="ytvbp.listVideos(this.queryType.value, this.searchTerm.value, 1); document.forms.searchForm.searchTerm.value=this.searchTerm.value; ytvbp.hideMainSearch(); document.forms.searchForm.queryType.selectedIndex=this.queryType.selectedIndex; return false;">
       <div align="left">
         <select name="queryType" onChange="ytvbp.queryTypeChanged(this.value, this.form.searchTerm);">
           <option value="all" selected="true">All Videos</option>
           <option value="top_rated">Top Rated Videos</option>
           <option value="most_viewed">Most Viewed Videos</option>
           <option value="recently_featured">Recently Featured Videos</option>

         </select>
         <input name="searchTerm" id="artist" >
         <input type="submit" value="Search">
       </div>
       </form>

【问题讨论】:

  • 您可以使用'onchange'并提交表单。

标签: jquery forms


【解决方案1】:

您尚未发布自动完成代码或表单代码,因此我不知道您希望任何人如何为您量身定制答案。但是,您只需要将某些内容绑定到 select 事件。应该这样做:

$('#whatever').autocomplete({
    select: function() {
        $(this).closest('form').trigger('submit');
    }
});

Docs here.

【讨论】:

  • @Rachi 您只发布了一半的 javascript,缺少结束标记,只需尝试实现我在您当前设置中添加的内容。
【解决方案2】:

你可以像这样使用选择函数,Select Event in Autocomplete

$( "#yourID" ).autocomplete({
        source: "YourUrl.php",
        minLength: 2,
        select: function( event, ui ) {
            log( ui.item ?
                "Selected: " + ui.item.value + " aka " + ui.item.id :
                "Nothing selected, input was " + this.value );
                             // you can replace this and put the submit code. by calling submit() method. 
                       $(this).closest('form').trigger('submit');

        }
    });

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多