Javascript 如何在HTML选项中包装文本
我想在我的页面上放置一个下拉列表,因为其中一个选项太长,当我单击“选择”菜单时,它将展开并覆盖页面的另一部分Javascript 如何在HTML选项中包装文本,javascript,jquery,html,Javascript,Jquery,Html,我想在我的页面上放置一个下拉列表,因为其中一个选项太长,当我单击“选择”菜单时,它将展开并覆盖页面的另一部分 <select id="selectlist" name="SelectProgram"> <option value="LIR" >LIR</option> <option value="How to word wrap text in HTML?">How to word wrap text in HTML?
<select id="selectlist" name="SelectProgram">
<option value="LIR" >LIR</option>
<option value="How to word wrap text in HTML?">How to word wrap text in HTML? CSS / HTML text wrap for webkit</option>
里尔
如何在HTML中包装文字?webkit的CSS/HTML文本换行
第二个选项太长,将扩展。有没有办法把这么长的一段文字分成两行?
谢谢大家! 将该输入包装在一个div中,为div添加一些宽度,这样该行就不会超出div,如下所示:
<div id="something" style="width:500px">
<select id="selectlist" name="SelectProgram">
<option value="LIR" >LIR</option>
<option value="How to word wrap text in HTML?">How to word wrap text in HTML? CSS / HTML text wrap for webkit</option>
</select>
</div>
里尔
如何在HTML中包装文字?webkit的CSS/HTML文本换行
只需使用
<select id="selectlist" name="SelectProgram" style="width: 500px">
<option value="LIR" >LIR</option>
<option value="How to word wrap text in HTML?">How to word wrap text in HTML? CSS / HTML text wrap for webkit</option>
</select>
里尔
如何在HTML中包装文字?webkit的CSS/HTML文本换行
实际上,您应该在CSS文件中的匹配规则中放入宽度为500px的
。查看Select的值和文本可能会非常不同。我会说,如果在事件中,文本的select中的字符串长度大于X,请截断它
jquery示例
$('#myselect option').each(function()
{
var myStr = $(this).text();
if(myStr.length > 15){$(this).text(myStr.substring(15));}
});
将它放在文档中,它会将文本缩小到一个更好的大小,将元素包装在一个div中以隐藏溢出,稍后会造成混乱,您将回到这里尝试解决由较小字符串引起的类似问题。不,不能用本机select包装文本。我建议将select的宽度设置为固定宽度。+1,我不会想到这两件事来改进此代码:使用子字符串(0,15)
,否则将抓取最后15个字符。此外,每当选项文本被截断时,我喜欢添加省略号,这样用户就知道它被截断了,例如:text(myStr.substring(0,15)+'…')
。另一个快速评论:在使用此Javascript时,请注意HTML中选项文本之间的额外空白。您的浏览器可能已经删除了它,但是JSlength
方法将不会。这将删除前几个字符串。我的用户不知道他们在选择什么。我更喜欢文本换行,而不是文本切掉。太好了-这对我来说非常有效用户看不到右边的其余文本。。。用户并不确切/完全知道他们在选择什么。