2016-05-12 6 views
0

私はSelect2(バージョン4.0.2)を使用して、複数の値を選択してそれらのタグを作成できるようにしています。問題は、新しいタグが選択された後にタグを保持するスパンが拡張されると、ドロップダウンリストのリスト領域がそれに応じて再配置されないことです。Select2ドロップダウンリストは、追加されたタグを表示するために再配置されません

Figure 1 http://oi68.tinypic.com/ev5m5k.jpg

この図は、私がタグので、隠された1つ以上の選択肢を選択した後に何が起こるかを示しています。

この図は、前に追加の値を選択するには、いくつかの以前に選択した値を含むSelectセレクト領域を示し面積はそれがあったより背が高いですが、ドロップダウンオプションのリストが同じ位置に貼り付けられている:私はあちこちに焦点を当てて取る場合

Figure 2 http://oi67.tinypic.com/63sozk.jpg

メートル(ぼかし)タグ領域、ドロップダウンが現在選択されている値/すべてのタグを表示するために適切な位置に再表示されます。

Figure 3 http://oi68.tinypic.com/sczy81.jpg

私はどのように質問

新しいタグ値が選択されると、動的に再配置するドロップダウンオプション領域を取得しますか?私はSelect2イベントを横取りして何とか垂直位置を再計算することができますか?またはblur()、次にfocus()を選択するたびにスパン?私が思いついた解決策は、ドロップダウン選択項目が選択または選択解除された時はいつでも"change"イベントをキャッチする必要れ、サイズを変更するドロップダウン要素を強制することでした

答えて

2

// Apply Select2 to the <select> element 
var select2Elem = $("#" + controlID).select2(opts); 

// Force drop-down list to resize upon select/unselect 
select2Elem.on("change", 
    function(evt) { 
     select2Elem.resize(); 
    } 
); 
関連する問題