如何将ListBox的高度设置为auto

时间:2010-10-29 08:51:58

标签: javascript jquery html css

我有一个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>

我需要将其高度设置为自动,即我不希望滚动条出现。

我试过Height:auto;但是它在IE中无效。

我该怎么做?

4 个答案:

答案 0 :(得分:15)

size property设置为项目数,如下所示:

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

如果您需要以编程方式执行此操作,可以将所有<select>元素设置为其选项长度,如下所示:

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

You can test it out here

答案 1 :(得分:1)

你可以使用'line-height'eighter修改它并将值设置为'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>

希望这有帮助。

答案 2 :(得分:1)

将size属性设置为等于项目数(选项)。

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

答案 3 :(得分:0)

尝试使用height:100%。它在ie6

中工作