2014-10-03 4 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) 
    }) 

привожу постепенно увеличивается значение на каждое открытое из выбор2 (например, 1 02, то 109, то 114)

Но мне нужно, чтобы определить высоту выпадающего списка, когда Выбор2 полностью открыт * редактировать (полностью открытый = когда открывающийся делаются) Thanx за ваши ответы

ответ

1

Мое решение:

Повесьте это еще одно событие:

Выбор2-изюминкой Уволен когда выбор будет выделен в выпадающем списке.

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

ISN Это значение? 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

+0

, тогда я не понимаю ваш вопрос, извините. Из вашего сообщения вы знаете и можете получить высоту, и вы явно запрашиваете высоту, когда она полностью открыта, на что я ответил ... – sebnukem

+0

ОК, извините, мне нужно получить фактическую высоту выпадающего меню, а не максимальную высоту от css , (Я имею в виду, что полностью открыт = когда открывается выход) – dusty