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.
}