6

jquery オートコンプリート タイプ アヘッド フィールドがあります。それは 100% 正しく機能しており、値を求めるプロンプトが表示されます。ただし、選択したいオプションをクリックする必要があります。

タイプ アヘッドの値が 1234 で、1234 をクリックすると、この値でいくつかのロジックが実行されます。以下の例ではアラートが表示されます。

ただし、1234 と入力してタブを押すと、オートコンプリート オプションが選択されていないため、アラートは発生しません。タブを押したときに入力された値が選択されていると想定し、ユーザーに先行入力オートコンプリートからオプションを選択させないように jquery に指示するにはどうすればよいですか?

私の構文は次のとおりです。

function callAutocomplete(element) 
{ 
    $(element).autocomplete( 
    { 
        source: "get_sku_codes", 
        messages: 
        { 
            noResults: '', 
            results: function() {} 
        }, 
        select: function( event, ui ) 
        { 
            var selectedObj = ui.item; 
            alert(selectedObj);
        } 
    }); 
}

繰り返し1234ますが、入力フィールドに入力してタブを押すと、オートコンプリートの候補 '1234' をクリックしたかのようにオートコンプリート ロジックを呼び出す必要があります。

これはできますか?おそらく入力の onchange イベントですが、オートコンプリート ロジックを呼び出すために呼び出される onchange 関数を取得するにはどうすればよいですか?

それが理にかなっていることを願っています。

いつもありがとう。

4

1 に答える 1

9

オプションが必要だと思いautoFocusます:

最初の項目に設定するとtrue、メニューが表示されたときに自動的にフォーカスされます。

それを念頭に置いて、ウィジェットの初期化を変更するだけで済みます。

function callAutocomplete(element) 
{ 
    $(element).autocomplete( 
    { 
        source: "get_sku_codes", 
        messages: 
        { 
            noResults: '', 
            results: function() {} 
        }, 
        select: function( event, ui ) 
        { 
            var selectedObj = ui.item; 
            alert(selectedObj);
        },
        autoFocus: true
    }); 
}

例: http://jsfiddle.net/WP29E/132/

于 2013-09-27T10:46:08.667 に答える