簡體   English   中英

JavaScript - 檢查 select 框中的唯一值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM