我基本上是在尝试实施:
$(function() {
var maxWords = 10;
var wordCounts = {};
$("#a").keyup(function() {
var matches = this.value.match(/\b/g);
wordCounts[this.id] = matches ? matches.length / 2 : 0;
var finalCount = 0;
$.each(wordCounts, function(k, v) {
finalCount += v;
});
$('#finalcount').val('Words: ' + finalCount);
if(finalCount > maxWords){
$("#a").val(a.value.slice(0,-2));
};
}).keyup();
});
以下是我使用的示例:http://jsfiddle.net/YJVPZ/80/
我的版本在这里:http://jsfiddle.net/FsbJ3/
由于某种原因,我的工作不起作用。我并不是很了解jquery或javascript事件,所以我确信有些东西我很遗憾,但对于我的生活,我无法弄清楚是什么。我要做的是限制数量可以进入textarea框的单词。任何建议>非常感谢你。
答案 0 :(得分:3)
未定义变量“a”,id
:
$("#a").val(a.value.slice(0,-2)); // throws error "a is not defined"
您可以使用“this”来引用您选择的#a
元素:
$("#a").val(this.value.slice(0,-2)); // "this" refers to "#a"
或者,您可以使用additional_comments.value
来引用元素的id
。这就是您使用的示例引用“a”的方式,但您已将代码中元素的id
更改为“additional_comments”:
$("#additional_comments").val(additional_comments.value.slice(0,-2));