提问者:小点点

如何删除选项标记中的重复值


我有一个包含多个选项的Select标记。在按钮上,单击每个选择的选项创建一个li,其中innerText设置为该选项的文本值。我怎么做一个函数,我不能添加相同的元素两次?

 $(".btn").on("click", function () {
          let selectedItems = $("#node-input-options option:selected");
          selectedItems.each(function (i, el) {
            // console.log(el, i);
            let text = $(el).text();
            let val = $(el).val();
            var li = $("<li>").text(text).val(val).attr("title", val);
            list.append(li);
            li.on("dblclick", function () {
              li.remove();
            });
          });

这是我在jQuery中的代码。这是fiddle=>https://jsfiddle.net/nah062ck/11/上的示例


共1个答案

匿名用户

>您可以使用Jquery contains selector检查列表中是否已经存在选定的项。

    $("#b1").on("click", function() {
            var selectedItems = $("#cars option:selected");
            let list = $(".list");
            selectedItems.each(function(i,el) {
              var text = $(el).text();
              var val = $(el).val();
              var li = $("<li>").text(text).val(val).attr('title', val).attr("size",10);
              li.size = 10;
               var exists=$('.list li:contains('+text+')');
               if(exists.length > 0){
               alert('The Selected Word already exists');
                   return
               }
               list.append(li);
             
            });
          });