列表中存在重复值时显示警报消息

时间:2019-01-18 10:31:36

标签: javascript jquery html css3 handsontable

我有两列,如图2所示。当我单击向右按钮时,所选字段将转到第二列,但是我有4个字段已经来自数据库,现在,如果我将名字移至第二列,它也会接受,但我需要如果已经选择了值,则显示错误消息为“不允许重复”

enter image description here

  "click #lstBox1 > option": function(e){            
        var selectedOpts = $('#lstBox1 option:selected');
        if (selectedOpts.length == 0) {
            alert("Nothing to move.");
            e.preventDefault();
        }
        $('#lstBox2').append($(selectedOpts).clone());
        $(selectedOpts).remove();
        e.preventDefault();
        var text = $(e.target).text();            
        var result = this.data.filter(function (obj) {
            return obj.columnsexpo === text;
        });
        if (_.isEmpty(result)) {
            this.data.push({columnsexpo: text, placeholder: true });
            this.tab.handsontable("loadData", this.data);
            console.log(this.data);
        }
    },
  "click #lstBox2 > option": function(e){
        var selectedOpts = $('#lstBox2 option:selected');            
        $('#lstBox1').append($(selectedOpts).clone());
        $(selectedOpts).remove();
        e.preventDefault();
        var text = $(e.target).text();
       // console.log(text);
        var result = this.data.filter(function (obj) {
            return obj.columnsexpo === text;
        });

            this.data.pop({ columnsexpo: text, placeholder: true });
            this.tab.handsontable("loadData", this.data);
            console.log(this.data);

    },

1 个答案:

答案 0 :(得分:2)

试图重新创建代码的丑陋副本。

我的代码所做的是,在=COUNTIF(A1:M1,"*=*") 上得到了button click,即span element

此元素然后存储在clicked内。

获取variable and removed from the left side div中存在的所有text data in span并将其存储在right side div中。

arrayselected span的文本与left div中所有spans中存在的文本进行比较。

如果找到匹配项,则发出警报。然后,存储right div的变量将left div spanappended

right side div
    var tomove;
    var selected;
    $('span').click(function(){tomove=$(this).text();selected=$(this)})
    $("button").click(function(){

selected.remove();
var t=$('#right > span');
var str=$(t).text().toString();
var arr=str.split('');
   var txt=$(selected).text().toString();
console.log(txt)

    if(arr.includes(txt))
    {
        alert("Duplicates aren't allowed!")
    }
else
{  $("#right").append(selected);}

  

    })
    
 div{

            border-color: blue;
            border-style: solid;
            border-width: 1px;
        }
        span
        {
            border-color:green;
            border-style: solid;
            border-width: 1px;
        }
        #right
        {
            margin-left:100px;
        }