我正在制作一个标记系统,但我不知道如何防止用户发送垃圾邮件相同的标记。我唯一的想法是将每个添加到一个数组中。并使其在再次单击后不再添加,但我无法弄清楚。 如果有人可以提供帮助那就太好了!
这是我的代码示例:
<select multiple="multiple" size="10" id="tag_name">
<option>apple</option>
<option>pear</option>
<option>pineapple</option>
<option>peach</option>
<option>strawberry</option>
<option>raspberry</option>
<option>cherry</option>
<option>watermelon</option>
<option>orange</option>
<option>banana</option>
<option>grape</option>
<option>honeydew</option>
<option>apricot</option>
</select>
<!-- appended tags wrapper -->
<div class="tags"></div>
<script type="text/javascript">
var tag_count = 0;
var tag_array = "";
$("#tag_name").click(function(){
var tag = $("#tag_name").val();
if(!tag == ""){
tag_array = tag_array+tag+", ";
tag_count = tag_count+1;
if(????){
if(tag_count != 11){
$(".tags").append("<div style=\"margin: 5px;\" class=\"tag\"><p>"+tag+"</p><a href=\"#\">x</a></div>");
} else {
$(".tags").append("<div style=\"margin: 5px;\" class=\"tag\"><p>15 tags already selected!</p><a href=\"#\">x</a></div>");
$("#tag_name").attr("disabled","disabled");
}
}
}
});
</script>
最佳答案
String.indexOf()
怎么样?
if (tag_count != 11 && -1 === tag_array.indexOf(tag)) {
tag_array += tag + ", ";
tag_count = ++;
$(".tags").append("<div style=\"margin: 5px;\" class=\"tag\"><p>" + tag + "</p><a href=\"#\">x</a></div>");
} else {
..
}
关于javascript - 如何检查数组是否包含多个同一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52944191/