我正在尝试使用Jquery来计算文本区域中的字符,这是我到目前为止所拥有的...
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#textfield").on('keyup, paste', function(){
var Characters = ("#textfield").val().replace(/(<([^>]+)>)/ig,"").length;
$("#counter").text("Characters left: " + (1500 - Characters));
});
});
</script>
</head>
<body>
<form id="input_form" method="POST" action="?">
<textarea id="textfield"></textarea>
</form>
<div id="counter"></div>
</body>
</html>
我的div中没有输出任何内容......任何想法为什么?
答案 0 :(得分:2)
您的代码中有两个问题
1)将事件列表/多个事件传递给on方法时不需要逗号。它应该是.on('keyup paste'
2)获取textarea的文本值时缺少jquery选择器。你应该使用
$("#textfield").on('keyup, paste', function(){
var Characters = $("#textfield").val().replace(/(<([^>]+)>)/ig,"").length;
$("#counter").text("Characters left: " + (1500 - Characters));
});
<强> Working Demo 强>
答案 1 :(得分:1)
有两个问题:
.on('keyup paste'
从此处删除逗号$("#textfield").val().replace
此处$
在选择器中缺失。
$(document).ready(function() {
$("#textfield").on('keyup paste', function(){ // <---remove ',' comma
var Characters = $("#textfield").val().replace(/(<([^>]+)>)/ig,"").length; // '$' is missing from the selector
$("#counter").text("Characters left: " + (1500 - Characters));
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="input_form" method="POST" action="?">
<textarea id="textfield"></textarea>
</form>
<div id="counter"></div>
&#13;