Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在HTML选项中包装文本_Javascript_Jquery_Html - Fatal编程技术网

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中选项文本之间的额外空白。您的浏览器可能已经删除了它,但是JS
length
方法将不会。这将删除前几个字符串。我的用户不知道他们在选择什么。我更喜欢文本换行,而不是文本切掉。太好了-这对我来说非常有效用户看不到右边的其余文本。。。用户并不确切/完全知道他们在选择什么。