2012-03-02 8 views
1

私は入力ボックスを持っています。マウスオーバーでは、リストを表示したいと思います。ユーザーがリストの1つの項目をクリックすると、その項目が入力ボックスに入力されます。私はコンボボックスを使いたくないということです。入力は入力ボックスのように見える必要があります。矢印なし...私の考えは、JQuery UIオートコンプリートを使用することでした。だから私の質問は次のとおりです:オートコンプリートからすべてのアイテムをマウス上に表示する方法はありますか? (私はオートコンプリートがキーアップでトリガーされていることを知っています.......)私は他の提案にもオープンしていますが、再び入力ボックスは入力ボックスのままでなければなりません。あなたの返信を先にありがとう。乾杯。マークJQuery UIオートコンプリートをマウスオーバー時に表示する

http://jsfiddle.net/kjAfD/

マイHTML:

<input type="text" id="lst"/>​ 

マイJS:ここ

$(function() { 
     var availableTags = [ 
      "Paris", 
      "Barcelona", 
      "Tokyo", 
      "New-York", 
      "Berck" 
     ]; 
     $("#lst").autocomplete({ 
      source: availableTags 
     }); 
    });​ 

答えて

2
$(function() { 
    var availableTags = [ 
     "Paris", 
     "Barcelona", 
     "Tokyo", 
     "New-York", 
     "Berck" 
     ]; 
    $("#lst").autocomplete({ 
     source: availableTags, 
     minLength: 0 
    }).focus(function() { 
     if (this.value == "") $(this).trigger('keydown.autocomplete'); 
    }); 
}); 

は別の方法である:

$(function() { 
    var availableTags = [ 
     "Paris", 
     "Barcelona", 
     "Tokyo", 
     "New-York", 
     "Berck" 
     ]; 
    $("#lst").autocomplete({ 
     source: availableTags, 
     minLength: 0 
    }).focus(function() { 
     if (this.value == "") { 
      $(this).autocomplete("search"); 
     } 
    }); 
}); 

EDIT:追加マウスオーバー例

$(function() { 
    var availableTags = [ 
     "Paris", 
     "Barcelona", 
     "Tokyo", 
     "New-York", 
     "Berck" 
     ]; 
    $("#lst").autocomplete({ 
     source: availableTags, 
     minLength: 0 
    }).mouseover(function() { 
     $(this).autocomplete("search"); 
    }); 
}); 
+0

ハローマーク。どうもありがとうございました!それは魅力のように働いています。私はマウスオーバーでフォーカスを置き換えます.... :) – Marc

+0

私はそれが私がそれを望んでいたように働くように少しコードを修正しました...もう一度ありがとう! – Marc

1

オートコンプリートを使用すると、オートコンプリートを表示するために呼び出すことができますsearchと呼ばれる方法があります。したがって、入力のmouseoverイベントを聞くことができ、解雇されるとオートコンプリートの検索メソッドが呼び出され、代替リストが表示されます。

関連する問題