我試圖獲取當前選中的所有複選框的值並將它們存儲到數組中。這是我的代碼到目前爲止:jQuery將選中的複選框的值存入數組
$("#merge_button").click(function(event){
event.preventDefault();
var searchIDs = $("#find-table input:checkbox:checked").map(function(){
return $(this).val();
});
console.log(searchIDs);
});
但是,這種產出超過我的需要。我不僅獲得了價值觀,還獲得了一些我不想要的東西。
[ 「51729b62c9f2673e4c000004」, 「517299e7c9f26782a7000003」, 「51729975c9f267f3b5000002」,prevObject:jQuery.fn.jQuery.init [3], 上下文:文檔,jquery的: 「1.9.1」,構造:功能,初始化: 函數...]
我想只是ID的(在這種情況下的前3項)。
通過使用$.each
和推值到一個數組我得到所需的輸出:
$("#find-table input:checkbox:checked").each(function(){ myArray.push($(this).val()); })
[ 「51729b62c9f2673e4c000004」, 「517299e7c9f26782a7000003」, 「51729975c9f267f3b5000002」]
但是我d喜歡使用$.map
,因爲它爲我節省了一行代碼並且更漂亮。
感謝
我期待從'$ .map'真正的數組。感謝解決方案,它的工作原理。 – 2013-04-23 15:16:54
非常感謝你,我需要這個ma Ticketcenter – Steven 2013-06-21 17:50:22
我沒有得到這件事的事情是爲什麼'.get()'是需要的,當函數返回'.val()'從每個項目jQuery集合。這是因爲'map'在將它傳遞給'searchIDs'之前將它變回jQuery對象? – iconoclast 2013-10-16 15:17:45