Khi tải trang, sử dụng jQuery làm cách nào tôi có thể tự động chọn tất cả các hộp kiểm trong một div cụ thể?Kiểm tra tất cả các hộp kiểm khi tải trang bằng jQuery
Trả lời
$(function(){
$('#thediv input:checkbox').attr('checked', 'checked');
});
gì redquare có sẽ làm việc, nhưng đó là một ý tưởng tốt hơn tổng thể sử dụng true
/false
với những vì đó là cách họ bình thường, dưới đây là một vài ví dụ về lý do tại sao đây là một thói quen có ích để làm theo. Ví dụ:
$('#myDiv :checkbox').attr('checked', 'checked');
alert($('#myDiv :checkbox').attr('checked')); //this alerts true, not "checked"
Thay vào đó, nhận được trong thói quen đi qua một boolean, đó là rất nhiều linh hoạt hơn, ví dụ:
$(function() {
$('#myDiv :checkbox').attr('checked', true);
});
này cho phép linh hoạt hơn rất nhiều trong Ví dụ: mã terse hơn, giả sử chúng tôi có hộp kiểm "Chọn tất cả" ở trên cùng, trông như thế nào?
$('#checkAll').change(function() {
if(this.checked) {
$('#subTable :checkbox').attr('checked', 'checked');
} else {
$('#subTable :checkbox').removeAttr('checked', 'checked');
}
});
Bây giờ, chúng tôi đã phải mang một chức năng mới để thực hiện công việc, .removeAttr()
. Để công bằng, this is even how the jQuery documentation does it in the example. Tuy nhiên, bạn có thể cắt mà xuống đáng kể nếu bạn tận dụng bình thường jQuery làm trong nội bộ, như thế này:
$('#checkAll').change(function() {
$('#subTable :checkbox').attr('checked', this.checked);
});
Đây chỉ là một cái gì đó để giữ trong tâm trí khi bạn mã, quy tắc tương tự appy để .attr('disabled')
. Có những khu vực khác mà bình thường cũng xảy ra ... có lẽ sự kiện là rộng nhất trong số họ, nếu bạn tò mò you can see that here, nó đã được thực hiện cho bạn, sử dụng nó :)
Mọi người dường như thực sự bối rối về cách làm điều này trong jQuery. Việc chọn hộp kiểm sẽ dễ dàng hơn và hiệu quả hơn nếu không có hộp kiểm. Sau đây sử dụng sức mạnh của việc lựa chọn và lặp lại trên một danh sách các nút kết hợp với jQuery các couldn't-be-đơn giản hơn DOM checked
tài sản của các yếu tố ô trống:
$("#myDiv input:checkbox").each(function() {
this.checked = true;
});
Nó không phải quá khó để cắt ra jQuery hoàn toàn trong trường hợp này :
var div = document.getElementById("myDiv");
var inputs = div.getElementsByTagName("input");
for (var i = 0, len = inputs.length; i < len; ++i) {
if (inputs[i].type == "checkbox") {
inputs[i].checked = true;
}
}
CẬP NHẬT
Kể từ khi phát hành jQuery 1.6 và prop()
, có một cách lành mạnh để làm điều này trong jQuery:
$("#myDiv input:checkbox").prop("checked", true);
Tôi biết điều này là cũ nhưng có thể bạn có thể giúp tôi. Tôi có một biểu mẫu, nơi tôi muốn chọn trước tất cả các hộp kiểm trong div, nhưng sau khi biểu mẫu gửi nó sẽ hiển thị các hộp đã chọn (người dùng có thể bỏ chọn hộp và bây giờ tất cả các hộp kiểm tra lại), – alex
Đây là công việc trong firefox v.17.01. Chưa thử nghiệm trên các trình duyệt khác.
// Chọn và Kiểm tra hộp kiểm trên tải
$('#enable, #enable1, #enable2, #enable3').attr('checked', 'checked');
Xem ví dụ:
- 1. cách kiểm tra tất cả các hộp kiểm trong div trong jQuery?
- 2. jQuery chọn tất cả các hộp kiểm con
- 3. kiểm tra jquery nếu hộp kiểm asp được kiểm tra
- 4. Kiểm tra nếu hộp kiểm đã được kiểm tra trên tải sử dụng jQuery
- 5. Chọn tất cả các hộp kiểm với jQuery
- 6. Kiểm tra hộp kiểm ASP.NET với jQuery
- 7. jQuery - toggle chọn tất cả các hộp kiểm
- 8. Chọn tất cả hộp kiểm sử dụng jQuery
- 9. Kiểm tra jQuery khi tải xuống PDF hoàn tất
- 10. kiểm tra tất cả các hộp kiểm trong DataTable bao gồm các hàng ẩn
- 11. Kiểm tra hộp kiểm jQuery/bỏ chọn
- 12. Kiểm tra xác thực Laravel cho tất cả các trang
- 13. xóa các hàng của bảng khi kiểm tra hộp kiểm
- 14. jQuery UI Multiselect phụ tùng rõ ràng tất cả các hộp kiểm tra
- 15. tất cả Bỏ chọn hộp kiểm trong jquery
- 16. IntelliJ thiếu tất cả các kiểm tra
- 17. Jquery Iterate Thông qua tất cả các hộp kiểm tra và loại bỏ
- 18. Sử dụng liên kết được kiểm tra trong loại trực tiếp với danh sách hộp kiểm kiểm tra tất cả các hộp kiểm
- 19. Jquery datatable với hộp kiểm trong tiêu đề và trong hàng: chọn tất cả các hộp kiểm không hoạt động
- 20. Làm thế nào để kiểm tra tất cả các hộp văn bản trong một trang với jQuery?
- 21. Làm thế nào để kiểm tra tất cả các hộp kiểm ở dạng hiện tại với jquery?
- 22. jQuery. Làm thế nào để bỏ chọn tất cả các hộp kiểm trừ một (được kiểm tra)
- 23. Cách nhận tất cả các hộp kiểm đã chọn
- 24. Chọn/Bỏ chọn tất cả các hộp kiểm
- 25. Bỏ chọn tất cả các hộp kiểm khác
- 26. Kiểm tra/Bỏ chọn tất cả các hộp kiểm tra với javascript trong một mảng PHP với các phím
- 27. Kiểm tra tất cả các trường nhập đã được điền bằng jQuery
- 28. Kiểm tra/Bỏ chọn hộp kiểm bằng JavaScript?
- 29. Kiểm tra xem hộp kiểm có được chọn với jQuery
- 30. Kiểm tra hộp kiểm bị vô hiệu hóa (Jquery)
Tôi biết tôi là một kỷ lục bị phá vỡ về vấn đề này, nhưng thực sự, những 'tài sản checked' của phần tử checkbox là điều dễ sử dụng nhất và tự nhiên nhất để sử dụng. Tương tự với 'disabled'. –
@Tim - Và những gì đang được sử dụng :) Tuy nhiên * thiết lập * tài sản trên ** nhiều ** yếu tố không dễ dàng được thực hiện một cách ngắn gọn, bạn sẽ phải làm một hướng dẫn '.each()' gọi trong tất cả các mã của bạn cho điều đó. Bạn có thể làm '.checked = true;' trên một bộ sưu tập * * :) –
Tôi biết, tôi biết. Tôi đã làm điều đó trong câu trả lời của tôi. Tuy nhiên, tôi vẫn khuyên bạn nên sử dụng 'each()' và thuộc tính 'checked': bây giờ tồn tại sự lộn xộn không cần thiết trong tâm trí của nhiều nhà phát triển nhờ một hàm' attr() ' các thuộc tính, không phải thuộc tính) và nhiều cách không chắc chắn và quanh co mà mọi người hiện nay khuyên dùng để thiết lập một cờ Boolean đơn giản đã tồn tại và làm việc một cách vui vẻ trong một thập kỷ rưỡi. –