644 Stimmen

Finden Sie heraus, ob Radio-Button mit JQuery überprüft wird?

Ich kann ein Optionsfeld auf "checked" setzen, aber ich möchte eine Art "Listener" einrichten, der aktiviert wird, wenn ein bestimmtes Optionsfeld markiert ist.

Nehmen wir zum Beispiel den folgenden Code:

$("#element").click(function()
{ 
    $('#radio_button').attr("checked", "checked");
});

fügt es ein geprüftes Attribut hinzu und alles ist gut, aber wie würde ich vorgehen, um eine Warnung hinzufügen. Zum Beispiel eine Meldung, die erscheint, wenn das Optionsfeld markiert ist ohne die Hilfe der Klickfunktion?

1197voto

David Hedlund Punkte 125085
$('#element').click(function() {
   if($('#radio_button').is(':checked')) { alert("it's checked"); }
});

178voto

Parag Punkte 4664

Wenn Sie eine Gruppe von Optionsfeldern haben, die dasselbe Namensattribut haben, und Sie beim Absenden oder bei einem anderen Ereignis überprüfen wollen, ob eines dieser Optionsfelder aktiviert wurde, können Sie dies einfach mit dem folgenden Code tun:

$(document).ready(function(){
  $('#submit_button').click(function() {
    if (!$("input[name='name']:checked").val()) {
       alert('Nothing is checked!');
        return false;
    }
    else {
      alert('One of the radio buttons is checked!');
    }
  });
});

Fuente

jQuery API Ref

53voto

Patrick DaVader Punkte 2083

Da Parag's Lösung bei mir einen Fehler verursachte, hier meine Lösung (eine Kombination aus David Hedlund's und Parag's Lösung):

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

Das hat bei mir gut funktioniert!

38voto

Znarkus Punkte 22226

Sie müssen das Klick-Ereignis des Kontrollkästchens binden, da das Änderungsereignis im IE nicht funktioniert.

$('#radio_button').click(function(){
    // if ($(this).is(':checked')) alert('is checked'); 
    alert('check-checky-check was changed');
});

Wenn Sie nun den Status programmatisch ändern, müssen Sie dieses Ereignis ebenfalls auslösen:

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();

28voto

Nanhe Kumar Punkte 14132

//Check durch Klasse

if($("input:radio[class='className']").is(":checked")) {
     //write your code         
}

//Prüfung durch Name

if($("input:radio[name='Name']").is(":checked")) {
         //write your code         
}

//Daten durchsehen

if($("input:radio[data-name='value']").is(":checked")) {
         //write your code         
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X