我想代表<select>
代码中的字符长度展开<option>
代码宽度。
目前,我正在使用这个示例:http://jsfiddle.net/rathoreahsan/ShgWt/但是根据字符数定义硬编码宽度,它适用于除IE 9以外的所有新浏览器。
但是我想要一个更好的解决方案,使用带有自动宽度的jquery / javascript而不是代表字符数的硬编码宽度。
其实我有动态绘制列表。但我最初在网页上的所有下拉列表都有一个固定的宽度,我希望根据onchange
行为上的标记字符长度进行更改
请帮忙。
提前致谢。
答案 0 :(得分:2)
你走了。这假设div test
使用与选择框相同的字体。基本上我将文本转储到div中,测量div宽度,并清除div。然后我将该宽度分配给选择框。
工作小提琴:http://jsfiddle.net/Jaybles/ShgWt/5/
<强> HTML 强>
<!--Add right before </body> tag -->
<div id='test'></div>
<强> JS 强>
function countit(what){
var formcontent = what.form.charcount.value;
var t = $('#test');
t.html(formcontent);
var w = t.width() + 25;
t.html('');
$("#selectBox").css ({'width' : w + "px"});
}
<强> CSS 强>
#test{float:right;}
#selectBox{width:80px;}
答案 1 :(得分:1)
你是不是可以通过不指定<select>
中的任何宽度来实现这一目的?如果我是正确的,则自动展开是非指定宽度选择的默认行为。