2011-11-07 3 views
5

を選択:はJQueryのオートコンプリート - 私はRailsアプリケーション上のルビーから移入していると私はそうのようなカスタムautcompleteを作成していますjqueryのオートコンプリートを使用しています最初の項目に

$.widget("custom.code_complete", $.ui.autocomplete, { 
    _renderMenu: function(ul, items) { 
      var self = this, 
       currentCategory = ""; 
     $ul = ul; 
      $.each(items, function(index, item) { 
       if (item.category != currentCategory) { 
        ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>"); 
        currentCategory = item.category; 
       } 
       self._renderItem(ul, item); 
      }); 
     } 
    }); 

    $("#r-code").code_complete({ 
    source: "URL", 
    minLength: 2, 
    select: function(event, ui) { 
     $(".button-row").fadeIn(); 
     get_details(ui.item.url); 
    } 
    }); 

私は別のページからユーザーをリダイレクトしています検索に使用されるコードで、URLのパラメータを使用してオートコンプリートフォームのページが、ここで検索を行うにはJSです:

function ac_search(code) { 
    $("#r-code").val(code); 
    $("#r-code").code_complete('search', code); 
} 

これは完全に検索を実行し、結果のドロップダウンリストを表示します。私はスクリプトを持って、リストの最初の結果を選択しようとしています。私は、セレクタを経由して、それをやって試してみました:

$(".ui-menu-item:first a").click(); 

これは、オートコンプリートリスト内の正しい要素を見つけたが、私は試してみて、シミュレートをクリックしたときには、このエラーを与える:

TypeError: ui.item is null 

をプログラムすることが可能ですオートコンプリートの結果リストの最初の項目をクリックしますか?

乾杯

EEF

答えて

15

使用のオートフォーカス:

$(el).autocomplete({ 
     autoFocus: true 
     ... 
}); 
+0

本当のあなたは本当にあなたがちょうど真としてオートフォーカスオプションを設定することができ、この拡張機能は必要ありません。 – Ziad

19
$(el).autocomplete({ 
    autoFocus: true 
}); 
関連する問題