2011-01-25 13 views
14

वाले पृष्ठ पर कितने चेकबॉक्स चयनित हैं, मैं यह जानना चाहता हूं कि मेरे पृष्ठ पर कितने चेकबॉक्स jQuery का उपयोग करके चुने गए हैं।मैं कैसे गिन सकता हूं कि किसी पृष्ठ पर jQuery

 var numberOfCheckboxesSelected = 0; 
     $(':checkbox').each(function(checkbox) { 
      if (checkbox.attr('checked')) 
       numberOfCheckboxesSelected++; 
     }); 

हालांकि, संदेश के साथ अपने कोड त्रुटियों तीसरी पंक्ति में "ऑब्जेक्ट इस गुण या विधि का समर्थन नहीं करता": मैं निम्नलिखित कोड लिखा है।

मुझे कैसे पता चलेगा कि मेरे पृष्ठ पर कितने चेकबॉक्स चयनित हैं?

उत्तर

35

jQuery :checked छद्म चयनकर्ता का समर्थन करता है।

var n = $("input:checked").length; 

यह रेडियो बटन के साथ-साथ चेकबॉक्स के लिए भी काम करेगा। तुम सिर्फ चेक बॉक्स चाहते हैं, लेकिन यह भी पृष्ठ पर रेडियो बटन है, तो:

var n = $("input:checkbox:checked").length; 
+3

आपको केवल 'इनपुट: चेकबॉक्स' करना चाहिए, बस 'चेकबॉक्स' के बजाय, jQuery पृष्ठ पर * सभी * तत्वों को नहीं देखता है। – user113716

+3

@patrick विधिवत ध्यान दिया और अद्यतन, धन्यवाद! – Stephen

5

इस (कोई भी चयनित रेडियो बटन गिनती से बचने के लिए) का प्रयास करें:

var numberOfCheckboxesSelected = $('input[type=checkbox]:checked').length; 
2

each में कॉलबैक के लिए पारित पहला तर्क सूचकांक है, तत्व नहीं। आप का उपयोग करना चाहिए this या एक दूसरा तर्क:

var numberOfCheckboxesSelected = $('input:checkbox:checked').length; 
1
$("input:checked").length 
:

$(':checkbox').each(function(idx, checkbox) { 
     if (checkbox.attr('checked')) 
      numberOfCheckboxesSelected++; 
}); 

इसके अलावा, यह करने के लिए आसान तरीका :checked चयनकर्ता के साथ ही जाँच तत्वों का चयन करने के लिए और फिर चयन के length संपत्ति की जांच

यह चेक किए गए चेकबॉक्स की गिनती वापस करेगा।

संबंधित मुद्दे