2012-05-03 19 views
1

こんにちは私は人口私のオートコンプリートリストの下のコードを使用しています。Jqueryオートコンプリート - クリックイベントをリストに追加する方法

$('#input').autocomplete({ ajax_get : get_roles}); 

    function get_roles(v,cont,roleName){ 
      var roleName = roleName.value; 
      roleName = roleName.toLowerCase(); 
      $.get('/da/roleautocomplete?roleName='+escape(roleName),{q:v}, 
       function(obj){ 
        var res = []; 
        for(var i=0;i<obj.length;i++){ 
        res.push({ id:i , value:obj[i]}); 
        } 
        cont(res); 
       }, 
       'json') 
     } 

オートコンプリートリストの項目をクリックまたは選択すると、イベントが発生します。私はこれを試しました -

$('#input').autocomplete({ 
    select:function(event, ui){ 
      // do your things here 
     }, etc. 

しかし、役に立たないです。誰もがこれで私を助けることができますか?

+0

私はどのように "受け入れる"か、どのリンクをクリックするか、良い答えに投票する方法がわからないのですか?誰かが教えてくれますか? –

+0

質問の答えを見ると、答えの左上に上下の矢印が付いた数字があります。そのすぐ下にはチェックのようなアイコンがあります。それらのコントロール要素のタイトル属性テキストは、それらを使用する方法を説明しています。 – Carl

答えて

2

最初select:function(event,ui){ ... }を使用しようとすると、私は同様の問題を抱えていたが、それは間違いなく行く方法です。

キーは、クリックしたか他の方法で選択したオプションを取得するためにui.itemを使用することです。私はもともとeventを使用していましたが、thisですが、それらはクリック対キー選択で異なります(ある視点でconsole.logを見てください)ので、ui.itemはあなたが望むものです。オートコンプリートはlabel: ..., value: ...に設定されているので、使用する可能性が最も高いのはui.item.labelui.item.valueです。

2

Hiya デモhttp://jsfiddle.net/DMDHC/

にあなたがあなたの合格率を:)改善することを確認してください)

参考読み込み:[リンク] http://jqueryui.com/demos/autocomplete/(あなたがなど使用可能なオプションやイベントについて読むことができます)

明らかに、受け入れることを忘れないように注意してください&この回答は役に立ちましたか?

コード

$("#search").autocomplete({ 
    source: function(req, resp) { 
     $.post("/echo/json/", { 
      json: '["Rambo", "Foobar", "This", "That", "Batman", "Hulk"]', 
      delay: 1 
     }, function(data) { 
      resp(data); 
     }, "JSON"); 
    }, 
     select: function(event, ui) { 

      var TABKEY = 9; 
      this.value = ui.item.value; 

      if (event.keyCode == TABKEY) { 
       event.preventDefault(); 
       this.value = this.value + " "; 
       $('#search').focus(); 
      } 

      return false; 
     } 
}); 

​ 
+0

私のコードで上記のselect関数を置くと、selectタグに書かれた関数を呼び出さないだけです。助けてください ! –

+0

@linusunisfedあなたはjsfiddleを変更して、それを私にフリックすることができます**または**上記の投稿から答えが出ているようです<緑の矢印のポップが見えるように>とにかく楽しいです! :) –

+0

実際に私は別のプラグインを使用しています。それはjquery.jsとAutocomplete.jsで、これはいくつかのjqacプラグインです。あなたが使っているプラ​​グインはおそらく異なっています。私にお知らせください ! –

関連する問題