0

JQuery オートコンプリート ( jquery.autocomplete.js ) を使用しています。アイテムが選択されたら、どうすればフォームを送信できますか? 現在、アイテムが選択されている場合、Enter キーを 2 回押す必要があります。1 回目はアイテムを検索フィールドに取得するため、もう 1 回は検索を送信するためです。最初の入力時またはマウスでアイテムを選択したときに検索を送信したいと思います。

これを使用してフォームを送信するにはどうすればよいですか???? これは私のコードです::

$(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>
4

2 に答える 2

5

あなたはオートコンプリート コードやフォーム コードを投稿していないので、誰かがあなたのためにどのように回答を調整することを期待しているのかわかりません。ただし、select イベントに何かをバインドする必要があるだけです。これはそれを行う必要があります:

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

ドキュメントはこちら。

于 2012-05-18T09:35:11.733 に答える
0

このような選択機能を使用できます。オートコンプリートでイベントを選択します

$( "#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-05-18T09:34:14.073 に答える