逐行删除文本区域中的文本
Remove text from textarea line by line
我做了一个代码,逐行删除文本区域上的文本。然而,它似乎不起作用,它删除了第一行,然后删除了第三行,并再次重复任何人请帮助我,这是我尝试过的代码:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#remove').click(function(){
var textareavalue = $('#sometext').val().split("'n");
for(i=0; i < textareavalue.length;i++)
{
$('span').append('<br />Remove: '+textareavalue[i]);
textareavalue.splice(0, 1);
$('#sometext').val(textareavalue.join("'n"));
}
});
});
</script>
</head>
<textarea cols="40" rows="10" id="sometext"></textarea>
<br />
<button id="remove">Remove</button>
<br />
<span><span/>
您应该像这样使用索引0
:
$('span').append('<br />Remove: '+textareavalue[0]);
这是因为上一个显示的元素是用splice
删除的,所以您的下一行再次位于第一个位置。
还要改变循环条件,因为length
随着split
:而减少
while(textareavalue.length)
您还应该给我们的span
一个id
,因为您的页面上(或将来)可能存在其他span
标签。
最好在每次单击时清除span
内容,因此它只显示上次删除操作的结果。
最好不要同时发生,因为那样你就可以看到最终的结果。你可以使用这样的计时器:
HTML
<textarea cols="40" rows="10" id="sometext">
</textarea>
<br />
<button id="remove">Remove</button>
<br />
<span id="out"><span/>
JS
function removeLine() {
if ($('#sometext').val().replace(/'n$/, '').length === 0) {
// nothing to do
return;
}
var textareavalue = $('#sometext').val().split("'n");
// log line that will be removed
$('#out').append('<br />Remove: '+textareavalue[0]);
// remove line
textareavalue.splice(0, 1);
$('#sometext').val(textareavalue.join("'n"));
// remove next line with delay
setTimeout(removeLine, 200);
}
$(function(){
$('#remove').click(function(){
// clear log
$('#out').html('');
setTimeout(removeLine, 200);
});
});
这是一把小提琴。
for(var i=0, l = textareavalue.length; i < l; i++) {
$('span').append('<br />Remove: '+textareavalue[0]);
textareavalue.splice(0, 1);
$('#sometext').val(textareavalue.join("'n"));
}
是的,因为使用了splice()方法,数组本身会用新数据更新,循环也会在同一个数组上重复。在循环内将i值更改为0。
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- ng在下拉列表和文本区域提交
- 将文本插入光标所在的文本区域
- 离开页面导航后保留文本区域内容
- Javascript-在文本区域中断,但不在段落中中断
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 测试文本区域中的特定文本格式
- 文本编辑后,append函数不适用于文本区域
- 如何在ReactJs中链接下拉列表和文本区域
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JSON文件中的变量(字符串)填充文本区域
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 如何为动态创建的文本区域中输入的值更新ng模型
- 延迟高亮显示文本区域中的文本
- 将字母添加到文本区域的末尾
- TinyMCE在新添加的文本区域