我遇到了需要您的专业知识来解决问题的情况。
我有三个多重选择文本框,分别Roles
是Database
和RolesAssignedOnDatabase
。
角色选择框有值:Read, Write, DBAdmin, UserAdmin
。数据库选择框具有值:ABC,XYZ
等。RolesAssignedOnDatabase选择框为空。
现在,用户必须从“角色”选择框中选择一个值,然后从“数据库”选择框中选择一个值,最后单击“添加”按钮,这将像Roles@Database (for eg: read@ABC, read@XYZ)
在第三个多重选择框中(RolesAssignedOnDatabase)一样添加一个字符串模式。
现在我遇到的麻烦是,如果选择相同的值,您在添加按钮上单击了两次,那么第三个选择框将获得重复的值,例如
read@ABC,read@ABC,read@XYZ.
如何在javascript中的multiselect框中识别重复的字符串值而无需循环比较每个值?
(PS我没有足够的声誉来粘贴UI图片)。
您可以使用.find()
jQuery:
if($("#multi-select-wrapper").find(":contains('" + value + "')").length == 0) {
... // Add the element here.
}
或者,如果您更喜欢普通的javascript,则可以使用此技巧来创建选项值:
<option class="read@abc" value="read@abc">read@abc</option>
然后,您可以使用:
var temp = document.getElementsByClassName(value)
if(temp.length == 0) {
... // Add the element here.
}
不推荐使用此方法,因为class不是有效的html属性,尽管它适用于大多数浏览器(希望如此):Fiddle
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句