我有一个包含多个选项的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/上的示例
>您可以使用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);
});
});