当列表中存在重复值时显示警报消息
Posted
技术标签:
【中文标题】当列表中存在重复值时显示警报消息【英文标题】:Show alert message when duplicate values are present in a list 【发布时间】:2019-06-12 14:33:56 【问题描述】:我有两列,如图所示。当我单击 right 按钮时,所选字段将转到第二列,但我有 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);
,
【问题讨论】:
【参考方案1】:试图重新创建一个丑陋的代码副本。
我的代码所做的是,在button click
上,它得到span element
,即clicked
。
此元素随后存储在 variable and removed from the left side div
中。
right side div
中存在的所有text data in span
都被提取并存储在array
中。
将left div
中的selected span
的文本与right div
中所有spans
中的文本进行比较。
如果找到匹配项,则会引发警报。存储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;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script
src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E="
crossorigin="anonymous"></script>
</head>
<body id="body">
<div id="left">
<span>a</span><br>
<span>s</span><br>
<span>d</span><br>
<span>f</span><br>
<span>g</span><br>
</div>
<div id="right">
<span>e</span><br>
<span>r</span><br>
<span>g</span><br>
<span>w</span><br>
<span>g</span><br>
</div>
<button id="move">Move</button>
</body>
</html>
【讨论】:
谢谢....我可以使用它,但问题是选定的字段只是移动但不存储在数组中,如果它存储在数组中,那么我们可以使用这种格式,而不是所有其他选择的重复值字段存储在数组中 我收到警报消息,但重复值仍在移动到第二列检查此jsfiddle.net/zwc5b0p8 立即查看!忘了放一个else以上是关于当列表中存在重复值时显示警报消息的主要内容,如果未能解决你的问题,请参考以下文章
将 SwiftUI 警报或操作表绑定到值类型模型属性的可选性(当属性为 nil 时显示视图)的好方法是啥?