2012-08-02 8 views
5

मेरे पास चेकबॉक्स की एक श्रृंखला है। मैं सबमिट करने के बाद उपयोगकर्ता को चेतावनी देना चाहता हूं, अगर सभी चेकबॉक्स अनचेक किए गए हैं। मैं चेकबॉक्स के सभी मानों की रिपोर्ट करने के लिए निम्न कोड का उपयोग कर रहा हूं:उपयोगकर्ता को चेतावनी दें यदि सभी चेकबॉक्स अनचेक किए गए हैं

$('[id^=leg_rider]').filter(':checked'); 

ऐसा लगता है। हालांकि, जब मैं यह देखने की कोशिश करता हूं कि लौटाया गया वस्तु खाली है या नहीं, तो यह काम नहीं कर रहा है। यह वही है जो मैं कोशिश कर रहा हूं:

 $("#set_pref_submit").click(function() { 
     var legchecked = $('[id^=leg_rider]').filter(':checked'); 
     if (!legchecked){ alert("no riders")}; 
    }); 

किसी भी सुझाव की सराहना की जाती है। धन्यवाद!

+0

आप सही रास्ते पर हैं। बस उपयोग करें: अगर (jQuery ("। चेकबॉक्स: चेक किया गया")। लंबाई == 0), या अपने कोड के साथ: यदि (jQuery ("[id^= leg_rider]: चेक किया गया")। लंबाई == 0) {चेतावनी ()} – ShaunOReilly

उत्तर

10

आप उपयोग कर सकते हैं jQuery ऑब्जेक्ट की length संपत्ति:

$("#set_pref_submit").click(function() { 
    var legchecked = $('input[id^=leg_rider]:checked').length; 
    if (legchecked){ alert("no riders")}; 
}); 
+2

+1 ')' –

+2

+1 लंबाई संपत्ति का उल्लेख करने के लिए। – Nope

+1

+10 अपवॉट्स बहुत धन्यवाद –

0
if (legchecked.size() == 0){ alert("no riders")}; 
5

कार्य डेमो: http://jsfiddle.net/MrkfW/

इस प्रयास करें: तो यह ट्रैक रखने के रूप में अच्छी तरह .change एपीआई का उपयोग कर :)

एपीआई: http://api.jquery.com/change/

$("input[type='checkbox'][id^=leg_rider]").change(function(){ 
    var a = $("input[type='checkbox'][id^=leg_rider]"); 
    if(a.length == a.filter(":checked").length){ 
     alert('all checked'); 
    } else { 
     alert('not all checked'); 
    } 
}); 
+2

परिवर्तन के लिए +1 ':) ' – undefined

+1

परिवर्तन के लिए +1 और डेमो – Nope

+0

@ FrançoisWahl धन्यवाद ब्रूव! ':) 'आप जानते हैं कि आपको इसके लिए याद किया जाएगा। 'बी-)' –

0
लाइन

if (!legchecked){ alert("no riders")}; 

आप वास्तव में वस्तु के अस्तित्व जांचने के बाद, नहीं यदि वह रिक्त हो पर

। चूंकि आप jQuery का उपयोग कर रहे हैं, इसलिए आप ऑब्जेक्ट खाली है या नहीं, यह जांचने के लिए .isEmptyObject() फ़ंक्शन का उपयोग कर सकते हैं।

if($.isEmptyObject(legchecked)) {alert ("no riders")}; 
2

इस प्रयास करें:

मेरे एचटीएमएल:

<input id="chkbx_0" type="checkbox" class="checkbox" name="c_n_0" checked="checked" />Option 1 
<br/><input id="chkbx_1" type="checkbox" class="checkbox" name="c_n_1" />Option 2 
<br/><input id="chkbx_2" type="checkbox" class="checkbox" name="c_n_2" />Option 3 
<br/><input id="chkbx_3" type="checkbox" class="checkbox" name="c_n_3" checked="checked" />Option 4 
<br/><br/> 
<input type="button" value="Click me" class="testall"/>​ 

मेरे JQuery कोड:

jQuery(".testall").click(function() { 
    if (jQuery(".checkbox:checked").length == 0) { alert("no riders"); } 
}); 

लाइव उदाहरण: http://jsfiddle.net/webwarrior/NJwv4/9/

यह वाई आपको केवल कुछ निश्चित चेकबॉक्स जांचने का विकल्प देगा।

एचएच, शॉन

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