我有一个HTML textarea,其中一个字符串分为多行。例如
cat
dog
horse
我接下来要做的是将这些字符串插入到html表中。 HTML表(我正在使用jquery.datatables)似乎忽略了换行符。所以我是
<textarea id='txttest' name="texttest" ></textarea>
我尝试过更换文字,但这两种方法都不起作用。
var res = $("textarea#txttest").val().replace(/\/n/,"<br>");
或
var res = $("textarea#txttest").val().replace(/
/,"<br>");
然后我将结果插入到我的数据表中
$('table#table_flows').dataTable().fnAddData( [
res ] );
但新行不会被&lt; br&gt;
我该怎么做?
谢谢。答案 0 :(得分:1)
您的.replace
中有一个额外的斜杠,您需要添加g
才能使其成为全局替换,而不仅仅是第一次出现。
尝试
var res = $("textarea#txttest").val().replace(/\n/g,"<br>");
答案 1 :(得分:1)
尝试此操作:使用NewLine作为分隔符拆分为数组,然后使用<br />
var res = $("textarea#txttest").val().split("\n").join('<br />');
$('table#table_flows').dataTable().fnAddData( [ res ] );
答案 2 :(得分:0)
我没有尝试使用replace()
的任何示例,就像您刚刚做的那样。相反,我使用split()
组合了一个示例,该示例将值分割为\n
字符。
var cell = document.getElementsByTagName("td")[0];
var textarea = document.getElementsByTagName("textarea")[0];
textarea.addEventListener("change", function() {
var array = textarea.value.split("\n");
var i = 0, length = array.length;
for (i; i < length; i++) {
cell.innerHTML += array[i] + "<br/>";
}
});