2010-01-15 13 views
79

मैं किसी समस्या के साथ बैठा हूं, मुझे रेडियो बटन समूह के भीतर कोई रेडियो बटन चेक नहीं किया गया है, इसलिए मुझे JQuery से जांचना होगा, ताकि मैं इसे दे सकूं यदि वे एक विकल्प जांचना भूल गए हैं तो उपयोगकर्ता जावास्क्रिप्ट त्रुटि करते हैं।यह जांचने के लिए JQuery का उपयोग करना कि समूह में कोई रेडियो बटन चेक नहीं किया गया है

मैं मान

var radio_button_val = $("input[name='html_elements']:checked").val(); 
+1

लग रहा है डौग उत्तर की तरह मेरा की तुलना में अधिक उपयोगी है, तो आप शायद उपयोग कर रहा हूँ उसका उपयोग करने के लिए बेहतर हो (देखें एससी मेरे उत्तर पर ओटीई की टिप्पणी)। यदि डौग का जवाब आपके लिए काम करता है, तो क्या आप इसके बजाय उसे स्वीकार कर सकते हैं? –

+0

@ डोमिनिकरोडर यह आप बहुत विनम्र है सर। –

उत्तर

118
if (!$("input[name='html_elements']:checked").val()) { 
    alert('Nothing is checked!'); 
} 
else { 
    alert('One of the radio buttons is checked!'); 
} 
+12

यह चेक विफल होगा यदि चेक किए गए रेडियो बटन का मूल्य = "" – ScottE

+1

@ स्कॉट - उत्कृष्ट बिंदु - रोलैंड इसे अस्वीकार कर देता है तो मैं इस जवाब को निकाल दूंगा। –

+0

मुझे लगता है कि आप इसे '.val() == "" 'में बदल सकते हैं और'!' को हटा सकते हैं और आप सभी सेट हो जाएंगे। –

30

प्राप्त करने के लिए निम्नलिखित कोड का उपयोग कर रहा है आप कुछ इस तरह कर सकता है: मैं उपयोग कर रहा हूँ

var radio_buttons = $("input[name='html_elements']"); 
if(radio_buttons.filter(':checked').length == 0){ 
    // None checked 
} else { 
    // If you need to use the result you can do so without 
    // another (costly) jQuery selector call: 
    var val = radio_buttons.val(); 
} 
+2

क्या आप पहली दो पंक्तियों को 'if ($ ("इनपुट [name =' html_elements '] पर चेक नहीं कर सका: चेक किया गया")। लंबाई == 0) {'? – Powerlord

+5

आप कर सकते हैं, लेकिन फिर यदि आप एक मूल्य मौजूद हैं तो मूल्य प्राप्त करने के लिए आपको एक और पूर्ण jQuery चयन की आवश्यकता होगी। –

115

$("input:radio[name='html_radio']").is(":checked") 

और यदि रेडियोग्रुप में सभी आइटम हैं तो FALSE वापस आ जाएंगे अनचाहे और सही अगर कोई आइटम चेक किया गया है।

+6

इस प्रश्न के लिए अभी तक सबसे अच्छा जवाब है। – FastTrack

+3

यह उत्तर मेरे लिए विश्वसनीय रूप से यह जांचने के लिए काम करता है कि रेडियो बटन समूह का कोई चयनित मूल्य था या नहीं। धागे में सबसे अच्छा जवाब। –

+1

डोमिनिक रॉजर और जैकोबो हर्नान्डेज़ द्वारा दोनों जवाब अच्छी तरह से काम करते हैं। मैं व्यक्तिगत रूप से लाइन की शुरुआत में अग्रणी NOT (!) का उपयोग करने की कोशिश नहीं करता हूं। सालों बाद जब आप इसे अनदेखा करते हैं और तर्क को पीछे छोड़ते हैं तो इसे डीबग करना मुश्किल हो जाता है ...है (": चेक किया गया") बहुत स्पष्ट है कि आप क्या कर रहे हैं - सर्वश्रेष्ठ उत्तर। – Scott

5
if ($("input[name='html_elements']:checked").size()==0) { 
    alert('Nothing is checked!'); 
} 
else { 
    alert('One of the radio buttons is checked!'); 
} 
3

उपयोग .length कैसे करता है, तो रेडियो के एक समूह में एक रेडियो जांच की गई जांच करने के लिए http://api.jquery.com/checked-selector/

if ($('input[name="html_elements"]:checked').length === 0) alert("Not checked"); 
else alert("Checked"); 
1
var len = $('#your_form_id input:radio:checked').length; 
     if (!len) { 
     alert("None checked"); 
     }; 
     alert("checked: "+ len); 
2

मुझे लगता है कि यह एक सरल उदाहरण है, का संदर्भ लें।

if($('input[name=html_elements]:checked').length){ 
    //a radio button was checked 
}else{ 
    //there was no radio button checked 
} 
0

मैं इतना सरल

एचटीएमएल

<label class="radio"><input id="job1" type="radio" name="job" value="1" checked>New Job</label> 
<label class="radio"><input id="job2" type="radio" name="job" value="2">Updating Job</label> 


<button type="button" class="btn btn-primary" onclick="save();">Save</button> 

स्क्रिप्ट

$('#save').on('click', function(e) { 
    if (job1.checked) 
     { 
       alert("New Job"); 
     } 
if (job2.checked) 
     { 
      alert("Updating Job"); 
     } 

}

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

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