यदि समूह में कोई रेडियो बटन चेक नहीं किया गया है, तो जांचने के लिए JQuery का उपयोग करना


107

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

मैं मान प्राप्त करने के लिए निम्न कोड का उपयोग कर रहा हूं

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

जवाबों:


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

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

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

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

@Doug - जो अभी भी समस्या का उल्लेख नहीं करता है वह स्कॉटई होगा? .val()अगर चेक किया हुआ रेडियो बटन होता तो क्या लौटता value=""? (हालांकि मुझे लगता है कि आप बहस कर सकते हैं कि यह एक काफी संभावना नहीं है)।
डोमिनिक रॉडगर

1
क्षमा करें, मेरी टिप्पणी भ्रामक थी: मैं पूरे परीक्षण के लिए इस तरह दिखना चाहता था: if ($("input[name='html_elements']:checked").val() == "")जो "कुछ भी नहीं जांचा जाता है" को सचेत करेगा
डग नीनेर

144

मैं उपयोग कर रहा हूँ

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

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


3
इस उत्तर ने मेरे लिए यह जांचने के लिए मज़बूती से काम किया कि क्या एक रेडियो बटन समूह का एक चयनित मूल्य था। धागे में सबसे अच्छा जवाब।
एंडी कुक

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

32

आप ऐसा कुछ कर सकते हैं:

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 ($("input[name='html_elements']:checked").length == 0){?
पॉवरलॉर्ड

7
आप कर सकते हैं, लेकिन तब आपको मूल्य प्राप्त करने के लिए एक और पूर्ण jQuery चयन की आवश्यकता होगी यदि आपने कोई मान दिखाया है।
डग नेइनेर

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



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");
        }

}

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.