我有以下代码(为了清晰起见,已清除代码):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function updateTextBox()
{
var lstSource = document.getElementById("lstSource");
var details = lstSource[lstSource.selectedIndex].text;
document.getElementById("txtDetails").value = details;
}
</script>
</head>
<body>
<select id="lstSource" onChange="updateTextBox();">
<option value="26">My Text
has a line break!</option>
</select>
<textarea id="txtDetails"></textarea>
</body>
</html>
现在,当我在我的选择框中单击一个项目时,我想让换行符出现在文本区域中,但是,它们根本不会出现。当填充select控件时,我已经签入了调试器,并且断行符肯定在那里(当我使用相同文本的“title”属性时,它们也会显示在工具提示中)。
当我调试JavaScript代码并查看包含在变量详细信息中的实际数据(使用charCodeAt)时,我可以看到没有换行符,即“我的文本”和“有换行符”之间只有一个空格字符(代码32)。
有人知道这是可以解决的,还是我必须忍受这种(在我看来)小车行为?也许我错过了什么。。。
提前谢谢
G。
最佳答案
HTMLcollapses whitespace,包括换行符。
您可以使用<br>
元素,但它们在<option>
元素中don't work。所以,我担心你想用HTML实现什么是不可能的。。。