2014-09-04 128 views
0

我有一個選擇/選項框左側的下拉框。jQuery:你如何檢查一個選定的下拉列表項是否已經在文本列表中?

我想讓jquery檢查項目是否已經按值存在。每個選項的值不會以任何順序排列。

文本框:

<select id="selectbox"> 
    <option value="20:32">Something1</option> 
    <option value="103:16">Something2</option> 
</select> 

下拉將有也有着相同的值項的列表。

有沒有辦法做這樣的東西:

$("#boxbutton").click(function() { 
     if (('#dropdownbox :selected').val() doesn't exist inside #selectbox list) 
     { 
      ...add dropdownbox item; 
     } else { do nothing }; 
    }); 

我想,以確保功能檢查整個選擇框值列表和未選擇/高亮顯示在選擇框的條目。該文本框不會總是有選定的條目,無論如何都需要進行檢查。

當用戶轉到下拉框將其他條目添加到選擇框時,它應該重複搜索。

使用.length關鍵字沒有任何運氣。有任何想法嗎?

回答

3

試試這個:

var value = $('#dropdownbox').val(); // :selected is unnecessary 
var hasValue = ($('#selectbox option[value="'+value+'"]').size() > 0); 
+1

就是這樣!謝謝!一旦我比較瞭解決它的價值。 – razorsyntax 2014-09-04 17:56:28

+1

如果該值非常複雜/未選中,那麼在將它放入選擇器字符串之前,必須將其轉義。更多信息:http://api.jquery.com/category/selectors/ – 2014-09-05 12:58:01

1

保持一個數組,並把所有的值到它。然後,您可以使用該數組輕鬆驗證文本框的值。 或者您必須使用DOM迭代獲取所有選項標記值。

相關問題