我有一个textarea,用户可以输入一些标签。
我需要将此标签限制为20个标签。
标签可以这样输入
maytag1,mytag2,mytag3
我写的是这个功能
function limitTags()
{
var tags = $("input[type=text][name=tags]").val()
var tag = $.trim(tags);
var selected = new Array();
/**
* replace the last ','
*/
if(tag.substring(tag.length - 1) == ",")
{
*///tag = tag.replace(tag.length - 1, '');
}
var enteredTags = tag.split(",");
if( enteredTags.length > 20 )
{
//$("input[type=text][name=tags]").val(enteredTags.join(",", enteredTags));
alert("Only 20 Tags allowed");
}
}
警报工作正常,但是在警报框消失之后。我可以继续输入标签,直到出现警告框。
我需要的是在输入了最后一个“,”的消息框后剪切文本
我希望我可以清楚地问我的问题。
谢谢
最佳答案
在设置值之前,可以使用slice
方法将数组缩减为20个条目:
$("input[type=text][name=tags]").val(enteredTags.slice(0,20).join(","));
参见:https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/Slice