Jquery实时读取文本区域
Jquery get readout of text area live
我想知道我是否可以得到一点帮助。我想实时预览一下它上面的文本区域
文本区域中的每一行都将在其上方显示为一个列表,例如:
- 测试
- test2
- test3
文本区域:
test
test2
test3
我希望它的工作方式是,在加载它读取文本区域的内容,并在一个列表中显示上面的内容。然后,当文本区域的内容改变时,它也会改变上面的列表。
下面是我的代码:http://jsfiddle.net/spadez/9sX6X/<h4>Placeholder</h4>
<ul id="tst"></ul>
<textarea rows="4" cols="50" placeholder="Test" id="test"></textarea>
这是我所得到的:
$('#test').bind('input propertychange', function() {
if(this.value.length){
Rerender list to show contents
}
});
这是我的第一个脚本之一,所以有人能给我一些指导,这应该如何实现?
小提琴
var list = $('#tst');
$('#test').on('keyup', function() {
list.empty();
if(this.value.length){
$.each(this.value.split("'n"), function(i, val){
list.append($('<li></li>').text(val));
});
}
});
$('#test').trigger('keyup'); // required to make it do the update onload
由于我使用了.text()
,这将处理特殊字符,如<
和>
没有问题。还请注意,我只是一次选择了<ul>
,而不是一次又一次地重新选择它。
旁注:从jQuery 1.7开始,首选.on()
而不是.bind()
。
这是你要找的吗?http://jsfiddle.net/9sX6X/2/
$('#test').bind('keyup', function () {
if (this.value.length) {
var inp = this.value.split("'n");
$("#list").empty();
for(var x = 0; x < inp.length; x++){
$("#list").append("<li>"+inp[x]+"</li>")
}
}
});
希望有所帮助
你可以这样做:
$('#test').on('change', function () {
var lines = $(this).val().split(''n');
$('#tst').empty();
for (var i = 0;i < lines.length;i++){
$('#tst').append('<li>' + lines[i] + '</li>');
}
});
注意:此代码适用于文本区域的change
事件,因此您需要在文本区域外单击以触发事件。如果您想在每次按下键时都这样做,则应该将事件从change
更改为keyup
。然而,这确实会导致性能大大降低。
您可以在这里看到更新后的提琴:http://jsfiddle.net/xv73p/
相关文章:
- 使用 jQuery 从选择标签中抓取文本
- 如何从文本区域获取文本,包括换行符
- 无法在文本区域设置文本
- 使用 casperjs 抓取文本节点的最快方法
- 如何分析 XML 文件和抓取文本值
- 如何使用户能够通过单击按钮从文本区域复制文本
- 从 URL 中抓取文本和媒体
- 使用 jQuery 捕获文本区域的文本值
- 单击按钮时从文本区域下载文本文件
- 在光标位置上拆分文本区域的文本.(asp.net C#)
- 如何从URL中抓取文本并放置在JS数组中
- JS从文本框中抓取文本,传递给asp.net mvc ActionResult,但ActionResult参数显示为nu
- 如何从IE6中的文本区域获取文本
- 如何在事件onclick中抓取文本
- 如何在js中向文本区域添加文本
- 为什么不是't我的javascript函数从文本区域提取文本
- 在单个或多个文本区域和文本框中使用多个插入符号
- 键入时用另一个文本区域更新文本区域
- 如何使用thymeleaf抓取文本区域数据
- 未拉取文本区域输入控件的 JSON 数据