我有4 <select>
盒用相同的價值觀:確保所有值都在下拉菜單中使用
我想確保在下拉菜單中使用這些值中的每一個,而不重複。
我無法理解這一點。我嘗試循環選擇框並挑選出值,但我無法讓它工作。有沒有人有一個快速簡單的解決方案呢?
我有4 <select>
盒用相同的價值觀:確保所有值都在下拉菜單中使用
我想確保在下拉菜單中使用這些值中的每一個,而不重複。
我無法理解這一點。我嘗試循環選擇框並挑選出值,但我無法讓它工作。有沒有人有一個快速簡單的解決方案呢?
獲取唯一值列表,然後用原始數組檢查長度。
var arr = [1,2,3,4];
if ($.unique($('select').map(function(){ return $(this).val(); })).length === arr.length) {
// OK
}
從來不知道jQuery中的獨特性! – janhartmann
可以說我添加了另一個值「-1」(例如用於「選擇值」),這仍然可以使用嗎? – janhartmann
在返回.val()之前檢查-1以得到它的工作。使用「返回」 - 這個可以嗎? ;-) – janhartmann
我解決了這個問題
HTML
<select id="sselect"></select>
的JavaScript
var a = [1,2,2,3,4,5];
var duplicates = a;
var result = [];
$(function() {
for (var i = 0; i < a.length; i++) {
var item = a[i];
for (var c = 0; c < duplicates.length; c++) {
if (jQuery.inArray(item, result) == -1) {
result.push(item);
}
}
}
});
for (var i = 0; i < result.length; i++) {
$('#sselect').append($('<option>', {
value: result[i],
text : result[i]
}));
}
歡迎光臨!您忘記發佈任何相關代碼... –
是的,對不起 - 我無法提供任何「相關」代碼。 – janhartmann