2014-03-27 74 views
1

我遇到了需要您的專業知識來解決問題的情況。識別多選框中的唯一值

我有三個多選擇文本框RolesDatabaseRolesAssignedOnDatabase

角色選擇框的值爲:Read, Write, DBAdmin, UserAdmin。 數據庫選擇框具有值:ABC,XYZ等。 RolesAssignedOnDatabase選擇框爲空。

現在,用戶必須選擇從角色選擇框的值,然後從數據庫中選擇框,最後點擊Add按鈕,將在第三多選擇框(RolesAssignedOnDatabase)添加一個字符串格式,如:[email protected] (for eg: [email protected], [email protected])

現在我有麻煩的是,如果選擇相同的值,UER點擊兩次Add按鈕,然後在第三個選擇框獲得重複的值一樣

[email protected],[email protected],[email protected] 

我怎麼能確定多選重複的字符串值框中的JavaScript沒有循環比較每個值?

(P.S我沒有足夠的聲望來粘貼UI的圖片)。

+0

您可以在下次放置外部圖像鏈接。 – wayne

回答

1

您可以使用jQuery的.find()

if($("#multi-select-wrapper").find(":contains('" + value + "')").length == 0) { 
    ... // Add the element here. 
} 

或者如果你喜歡普通的JavaScript,你可以使用創建一個使用這個技巧的選項值:

<option class="[email protected]" value="[email protected]">[email protected]</option> 

然後你可以使用:

var temp = document.getElementsByClassName(value) 
if(temp.length == 0) { 
    ... // Add the element here. 
} 

這不建議使用,因爲班級不是有效的html屬性的選項,雖然它適用於大多數瀏覽器(希望):Fiddle

+0

謝謝,但任何事情都可以通過使用JavaScript來完成? – TuW

+0

非常感謝... – TuW