Tôi đang cố gắng lấy giá trị của tất cả các hộp kiểm hiện đang được kiểm tra và lưu trữ chúng vào một mảng. Đây là mã của tôi cho đến thời điểm này:jQuery lấy giá trị của các hộp kiểm được chọn vào mảng
$("#merge_button").click(function(event){
event.preventDefault();
var searchIDs = $("#find-table input:checkbox:checked").map(function(){
return $(this).val();
});
console.log(searchIDs);
});
Tuy nhiên kết quả này nhiều hơn tôi cần. Tôi không chỉ nhận được các giá trị, nhưng một số thứ khác tôi không muốn.
[ "51729b62c9f2673e4c000004", "517299e7c9f26782a7000003", "51729975c9f267f3b5000002", prevObject: jQuery.fn.jQuery.init [3], bối cảnh: tài liệu, jquery: "1.9.1", constructor: chức năng, init: chức năng…]
Tôi muốn chỉ ID (3 mục đầu tiên trong trường hợp này).
Bằng cách sử dụng $.each
và đẩy giá trị cho một mảng tôi nhận được kết quả mong muốn:
$("#find-table input:checkbox:checked").each(function(){ myArray.push($(this).val()); })
[ "51729b62c9f2673e4c000004", "517299e7c9f26782a7000003", "51729975c9f267f3b5000002"]
Tuy nhiên tôi d muốn sử dụng $.map
, vì nó giúp tôi tiết kiệm một dòng mã và đẹp hơn.
Cảm ơn
Tôi đã mong đợi đúng Array từ '$ .map'. Cảm ơn các giải pháp, nó hoạt động. –
Cảm ơn bạn rất nhiều tôi cần điều này cho ma Ticketcenter – Steven
Điều tôi không nhận được về điều này là lý do tại sao '.get()' là cần thiết, khi hàm trả về '.val()' từ mỗi mục trong Bộ sưu tập jQuery. Đây có phải là vì 'map' biến nó trở thành đối tượng jQuery trước khi chuyển nó tới' searchIDs'? – iconoclast