我正在使用这个插件来计算输入和文本区域的字符:http://cssglobe.com/post/7161/jquery-plugin-simplest-twitterlike-dynamic-character-count-for-textareas
我还需要在 DIV 中计算字符数,并将"内容可编辑"设置为"True"。
这有可能修改这个插件吗?
我想我需要更改这一行中的某些内容:
var count = $(obj).val().length;
但我真的不知道内容可编辑是如何工作的......知道吗?
谢谢!
编辑:
我正在按照 brettz9 的建议这样做:
var method = $.inArray(obj.nodeName.toLowerCase(), ['textarea', 'input']) !== -1 ? 'val' : 'text';
var count = $(obj)[method]().length;
我只是在为其他字段执行此操作时遇到一个小问题,我需要没有最小/最大长度(我有一个输入和一个内容可编辑)
这是条件部分:
if (other_required){
if ($(other_required).val().length > 0 && available >= 0){
$(submit_button).attr("disabled", "");
} else {
$(submit_button).attr("disabled", "disabled");
}
我不知道如何声明该 [方法] var 并将其与"other_required"一起使用
val()
用于获取输入值,如文本区域、文本框等。请尝试text()
。
编辑:
试试这个:
function count(obj) {
var method = $.inArray(obj.nodeName.toLowerCase(),
['textarea', 'input']) !== -1 ? 'val' : 'text';
return $(obj)[method]().length;
}
您的代码如下所示:
if (other_required){
if (count(other_required) > 0 && available >= 0){
$(submit_button).attr("disabled", "");
} else {
$(submit_button).attr("disabled", "disabled");
}
这样做:
// We'll assume it is contenteditable (which uses text, or could also use html (innerHTML) if you wanted to count markup length)
// if it is not a textarea or input (which uses value)
var method = $.inArray(obj.nodeName.toLowerCase(), ['textarea', 'input']) !== -1 ? 'val' : 'text';
var count = $(obj)[method]().length;