如何获得select2下拉的高度?

时间:2014-10-03 16:58:52

标签: jquery css jquery-select2 ui-select2

我试图获得select2下拉实际渲染高度,但是:

如果我使用这样的东西:

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

结果总是29

当我使用它时(因为select2因为读取远程数据而没有完全打开:

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

我的结果是在每次打开select2时逐渐增加值(例如102,然后是109,然后是114)

但是当select2完全打开时,我需要确定下拉的高度 *编辑(完全打开=打开时) 谢谢你的回答

2 个答案:

答案 0 :(得分: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边距)。

答案 1 :(得分:1)

我的解决方案:

将其挂起到另一个活动:

<强> SELECT2高亮 在下拉列表中突出显示选项时触发。

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