javascript - 检查标签是否存在

标签 javascript html

我需要通过输入标签名称动态添加复选框。 在这里我可以添加复选框,但问题是如果相同的标签(区分大小写)已经存在,则不应允许用户添加。请帮忙解决这个问题。提前致谢。

HTML

<input type="button" value="add"  onClick="add()" />
<ul id="container" style="list-style-type:none;">
</ul>

脚本

var i=0;
function add() {
    var label = prompt("Please enter label name", "");
    if (label != null || label != "") {
        i++;  
        var title = label;
        var node = document.createElement('li');        
        node.innerHTML = '<input type="checkbox" id="check' + i + '" name="check' + i + '"><label for="check' + i + '">'+ title +'</label>';       
        document.getElementById('container').appendChild(node);
    }
}

<强> Jsfiddle

最佳答案

将标签存储在数组中,并检查该数组中是否存在新标签,然后继续插入新元素。

var i = 0;
var labels = [];

function add() {
  var label = prompt("Please enter label name", "");
  if (label != null || label != "") {
    if (labels.indexOf(label) == -1) {
      labels.push(label); i++;
      var node = document.createElement('li');
      node.innerHTML = '<input type="checkbox" id="check' + i + '" name="check' + i + '"><label for="check' + i + '">' + labels[labels.length - 1] + '</label>';
      document.getElementById('container').appendChild(node);
    } else {
      alert("labels should be unique!")
    }
  }
}

DEMO

关于javascript - 检查标签是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36443708/

相关文章:

javascript - 如何在 json 负载中格式化 Map<Entity,integer>

html - 需要帮助让 DIV 进入 DIV 以拉伸(stretch)到 Firefox 中内容的宽度

带有图标的jquery向左滑动菜单

jquery - 将 div 添加到 jquery 过滤器

html - 如何将文本向上和向右移动一点?

javascript - 如何使用 js 或 jquery 在一个页面中使用多个 css 切换开关

javascript - 使用保留关键字作为带有扩展运算符的对象键

javascript - 如何触发Graphic的点击事件?

javascript - 从字符串中获取价格

html - 如何使 img 缩放并居中?