[英]JavaScript - Check for unique values in select boxes
找不到我正在尋找的任何東西,但如果我錯過了一些明顯的東西,我很抱歉。 我基本上是在嘗試讓 JavaScript function 在提交表單之前檢查 select 個框中的每個框是否具有唯一值,然后將其輸入數據庫。
可能有任意數量的 select 框,但都遵循以下形式的類似命名格式:
operator_address_type_0
operator_address_type_1
operator_address_type_2
etc.
我只是想知道如何將 JavaScript function 設置為遍歷所有 select 框並提醒用戶並在發現任何具有相同值時停止提交。
謝謝你的幫助。
編輯:
這是我當前 select 盒子的一些簡化 HTML。 我不得不簡化它很多,因為它們所在的表都是通過 AJAX 從查詢數據庫加載的。
<select name="operator_address_type_0">
<option value="Main">Main</option>
<option value="Payment">Payment</option>
<option value="Poster">Poster</option>
</select>
<select name="operator_address_type_1">
<option value="Main">Main</option>
<option value="Payment">Payment</option>
<option value="Poster">Poster</option>
</select>
是這樣的,但以后可能會有更多的選擇,我只是想檢查一下是否只有一個主地址,一個付款地址,一個發帖地址等。
像下面這樣的東西?
function checkDuplicates() {
var selects = document.getElementsByTagName("select"),
i,
current,
selected = {};
for(i = 0; i < selects.length; i++){
current = selects[i].selectedIndex;
if (selected[current]) {
alert("Each address type may not be selected more than once.");
return false;
} else
selected[current] = true;
}
return true;
}
演示: http://jsfiddle.net/GKTYE/
這會循環選擇並記錄每個選擇的索引,如果找到重復項則停止。 這假設所有選擇都具有相同順序的相同選項。 要測試實際選擇的值:
current = selects[i].options[selects[i].selectedIndex].value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.