2009-05-16 38 views
30

Tôi muốn đếm số lượng hộp kiểm mà người dùng đã chọn. Ví dụ, từ một nhóm 10 hộp kiểm nếu anh ta chọn 5, thì tôi muốn có thể đếm nó. Sử dụng dòng:Cách nhận tổng số hộp kiểm đã chọn trên một trang

$(":checkbox:checked") 

Tôi có thể chọn tất cả các hộp kiểm được chọn, có cách nào để đếm tổng số các yếu tố được trả về bởi tuyên bố đó không?

Trả lời

58

Sử dụng phương thức size() hoặc thuộc tính length. Thuộc tính chiều dài được ưu tiên vì nó nhanh hơn.

Ví dụ:

var count = $("[type='checkbox']:checked").length; 
+1

cảm ơn, không biết chiều dài có thể được sử dụng với jquery –

+1

sử dụng đầu vào trước: hộp kiểm, như không có nó được đánh giá là *: hộp kiểm mà làm cho thực hiện chậm –

+0

Tôi chỉ tái sử dụng ví dụ của mình. Tôi đã cập nhật nó với bộ chọn ưu tiên tận dụng lợi thế của các phương thức DOM gốc vì: hộp kiểm đã không được chấp nhận. – tvanfosson

1

Sử dụng jQuery:

var cbs = $("input:checkbox"); //find all checkboxes 
var nbCbs = cbs.size(); //the number of checkboxes 

var checked = $("input[@type=checkbox]:checked"); //find all checked checkboxes + radio buttons 
var nbChecked = checked.size(); 

Sử dụng JavaScript:

var inputs = document.getElementsByTagName("input"); //or document.forms[0].elements; 
var cbs = []; //will contain all checkboxes 
var checked = []; //will contain all checked checkboxes 
for (var i = 0; i < inputs.length; i++) { 
    if (inputs[i].type == "checkbox") { 
    cbs.push(inputs[i]); 
    if (inputs[i].checked) { 
     checked.push(inputs[i]); 
    } 
    } 
} 
var nbCbs = cbs.length; //number of checkboxes 
var nbChecked = checked.length; //number of checked checkboxes 

Nguồn: How to find Checkboxes? at coderanch

Các vấn đề liên quan