Как установить высоту ListBox для автоматического

У меня есть Html ListBox:

 <select id="targetField" multiple="multiple" name="D1" style="width:200px;">
              <option>INDIA</option>
              <option>USA</option>
              <option>UK</option>
              <option>AUSTRALIA</option>
              <option>RUSSIA</option>
              <option>FRANCE</option>
              <option>HOLLAND</option>
 </select>

Мне нужно установить высоту этого в auto i.e Я не хочу, чтобы полоса прокрутки появлялась.

Я пробовал Height:auto; Но он не работает в IE.

Как мне это сделать?

Ответ 1

Задайте свойство size для количества элементов, например:

<select id="targetField" multiple name="D1" style="width:200px;" size="7">

Если вам нужно сделать это программно, вы можете установить для всех элементов <select> их длину параметра, например:

$("select").attr("size", function() { return this.options.length; });

Вы можете проверить это здесь.

Ответ 2

Вы можете изменить его, используя истребитель "line-height" и поместив значения в "height".

<select id="targetField" multiple="multiple" name="D1" style="width:200px; line-height:27px; float:left; height:130px;">
              <option>INDIA</option>
              <option>USA</option>
              <option>UK</option>
              <option>AUSTRALIA</option>
              <option>RUSSIA</option>
              <option>FRANCE</option>
              <option>HOLLAND</option>
</select>

Надеюсь, что это поможет.

Ответ 3

Установите атрибут размера, равный количеству элементов (опций).

var select = $('#targetField');
select.attr('size', select[0].options.length);

Ответ 4

попробуйте с height:100%. Он работает в ie6