我有两列,如图2所示。当我单击向右按钮时,所选字段将转到第二列,但是我有4个字段已经来自数据库,现在,如果我将名字移至第二列,它也会接受,但我需要如果已经选择了值,则显示错误消息为“不允许重复”
"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);
},
答案 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
中。
将array
中selected span
的文本与left div
中所有spans
中存在的文本进行比较。
如果找到匹配项,则发出警报。然后,存储right div
的变量将left div span
到appended
。
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;
}