Jquery 如何替换textarea中的特定行?
我试着只替换文本区域中的一行 我正在尝试更改该行,以便在同一表单的其他位置进行选择时更新该行 我认为最好将textarea读入数组,根据需要修改数组元素,然后将其写回文本区域 这是可行的,但我将其附加到当前值,而不是替换它们 如何更换它们 还是有更好的方法 这是文本区域:Jquery 如何替换textarea中的特定行?,jquery,replace,textarea,Jquery,Replace,Textarea,我试着只替换文本区域中的一行 我正在尝试更改该行,以便在同一表单的其他位置进行选择时更新该行 我认为最好将textarea读入数组,根据需要修改数组元素,然后将其写回文本区域 这是可行的,但我将其附加到当前值,而不是替换它们 如何更换它们 还是有更好的方法 这是文本区域: <textarea name="msg" id="msg" style="height: 150px; width: 300px;"> first line is OK sendline is also fin
<textarea name="msg" id="msg" style="height: 150px; width: 300px;">
first line is OK
sendline is also fine
new val=
this line is fine
</textarea>
还有一个显示它在做什么
有什么想法吗
谢谢
使用.html()而不是append()方法。html方法会将textarea标记之间的所有内容与新邮件一起重放
.append()方法用于在元素中添加内容
范例
<div id="content">
<p>Hello World</p>
</div>
.append() will add new content inside <div>
.html() will replace the content inside the <div>
你好,世界
.append()将在其中添加新内容
.html()将替换
更新
<script>
$('#test').on('change', function() {
var test = $(this).val();
var lines = $('#msg').text().split(/\n/);
lines[3] = "new val= " + test;
$('#msg').html("");
$.each(lines , function(i, val) {
$("#msg").append("\r\n" + lines[i]);
});
});
</script>
$('#test')。在('change',function()上{
var test=$(this.val();
变量行=$('#msg').text().split(/\n/);
第[3]行=“新值=”测试;
$('#msg').html(“”);
$.each(行,函数(i,val){
$(“#msg”).append(“\r\n”+行[i]);
});
});
您好,检查更新的代码现在工作正常 您应该使用.html()
将行添加到文本区域,或者先将其删除。
此外,您没有更改正确的行索引,也不需要使用循环行。each()
您只需使用.join()
以下是一个工作示例:
$(函数(){
$('#test')。在('change',function()上{
var test=$(this.val();
变量行=$('#msg').val().split(/\n/);
第[3]行=“新值=”测试;
$(“#msg”).html(lines.join(“\n”);
});
});代码>
1234
3456
4445
第一行可以
sendline也很好
新瓦尔=
这条线很好
.html()正是我所需要的。但是使用它只会将“#msg”更改为显示newval=
来自$(“#test”).val()的值代码>但不是其中的其余文字,有什么办法吗?太好了-非常感谢:)@JeffVader玩得开心!
<div id="content">
<p>Hello World</p>
</div>
.append() will add new content inside <div>
.html() will replace the content inside the <div>
<script>
$('#test').on('change', function() {
var test = $(this).val();
var lines = $('#msg').text().split(/\n/);
lines[3] = "new val= " + test;
$('#msg').html("");
$.each(lines , function(i, val) {
$("#msg").append("\r\n" + lines[i]);
});
});
</script>