2014-10-03 95 views
0

我試圖讓選擇2下拉實際呈現高度,但是:如何獲得select2下拉的高度?

如果我使用這樣的事情:

$('#my-input-s2').on('select2-open', function() { 
    var height = $(".my-dropdown").first().height() 
    console.log(height) 
    }) 

結果總是29

當我使用這個(因爲SELECT2不是fullly開放的,因爲讀取遠程數據:

$('#my-input-s2').on('select2-open', function() { 
    var height = setTimeout($(".my-dropdown").first().height(),0) 
    console.log(height) 
    }) 

我導致在每一個打開的SELECT2(例如逐漸增大的值1 02,然後109,然後114)

但我需要確定下拉列表的高度時,選擇2全開 *當開通完成編輯(全開=) thanx您的答案

回答

1

我的解決辦法:

航到另一個事件:

選擇2高亮 當選擇下拉高亮顯示觸發。

$('#my-input-s2').on('select2-highlight', function() { 
      var height = $(".my-dropdown").height() 
    }) 
1

難道不是這是一個設定值? select2 CSS說:

.select2-results { 
    margin: 4px 4px 4px 0; 
    max-height: 200px; 
    overflow-x: hidden; 
    overflow-y: auto; 
    padding: 0 0 0 4px; 
    position: relative; 
} 

所以一個完全打開的下拉框的高度是200px(+8 margin)。

+0

是的,但這是最大高度,但如果結果只是例如。 3選項的實際身高更小 – dusty 2014-10-03 17:23:24

+0

然後我不明白你的問題,對不起。從你的帖子你知道,並可以得到的高度,你明確要求它的高度,當它完全打開,我回答... – sebnukem 2014-10-03 17:26:59

+0

好吧,對不起,我需要得到下拉的實際高度,而不是從CSS的最大高度。 (我的意思是完全打開=打開完成時) – dusty 2014-10-03 17:31:47