Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在多选框中标识唯一值_Javascript_Html_Multi Select - Fatal编程技术网

Javascript 在多选框中标识唯一值

Javascript 在多选框中标识唯一值,javascript,html,multi-select,Javascript,Html,Multi Select,我遇到了需要你的专业知识来解决问题的情况 我有三个多选文本框,即角色,数据库和角色分配数据库 角色选择框具有以下值:Read、Write、DBAdmin、UserAdmin。 数据库选择框具有以下值:ABC、XYZ等。。 角色分配数据库选择框为空。 现在,用户必须从角色选择框中选择一个值,然后从数据库选择框中选择一个值,最后单击添加按钮,该按钮将添加一个字符串模式,如Roles@Database(例如:read@ABC, read@XYZ)在第三个多选框(RoleSassignedOn数据库)中

我遇到了需要你的专业知识来解决问题的情况

我有三个多选文本框,即
角色
数据库
角色分配数据库

角色选择框具有以下值:
Read、Write、DBAdmin、UserAdmin
。 数据库选择框具有以下值:
ABC、XYZ
等。。 角色分配数据库选择框为空。

现在,用户必须从角色选择框中选择一个值,然后从数据库选择框中选择一个值,最后单击添加按钮,该按钮将添加一个字符串模式,如
Roles@Database(例如:read@ABC, read@XYZ)
在第三个多选框(RoleSassignedOn数据库)中

现在我遇到的问题是,如果选择相同的值,uer在add按钮上单击两次,那么第三个选择框会得到重复的值,如

 read@ABC,read@ABC,read@XYZ.
如何在javascript的multiselect框中识别重复的字符串值,而无需循环比较每个值?

(注意,我没有足够的声誉来粘贴UI的图片)。

您可以使用jQuery的
.find()

if($("#multi-select-wrapper").find(":contains('" + value + "')").length == 0) {
    ... // Add the element here.
}
或者,如果您更喜欢纯javascript,可以使用以下方法创建选项值:

<option class="read@abc" value="read@abc">read@abc</option>

不建议这样做,因为类不是选项的有效html属性,尽管它适用于大多数浏览器(希望如此):

下次可以放置外部图像链接。
var temp = document.getElementsByClassName(value)
if(temp.length == 0) {
    ... // Add the element here.
}