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?

6voto

Obot Ernest Punkte 155

ULTIMATIVE LÖSUNG Erkennen, ob ein Optionsfeld mit der Methode onChang aktiviert wurde JQUERY > 3.6

         $('input[type=radio][name=YourRadioName]').change(()=>{
             alert("Hello"); });

Abrufen des Wertes des angeklickten Optionsfeldes

 var radioval=$('input[type=radio][name=YourRadioName]:checked').val();

4voto

Dhaval Kariya Punkte 41

Dynamisch generierter Radio Button Check radio get value

$("input:radio[name=radiobuttonname:checked").val();

Bei Änderung dynamischer Radiobutton

$('input[name^="radioname"]').change(function () {if (this.value == 2) { }else{}});

4voto

Jokerius Punkte 1250

$('.radio-button-class-name').is('checked') hat bei mir nicht funktioniert, aber der nächste Code hat gut funktioniert:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
     // radio button is checked
    }

4voto

MaxWall Punkte 175

JQuery ist immer noch beliebt, aber wenn Sie keine Abhängigkeiten haben wollen, siehe unten. Kurze und klare Funktion, um herauszufinden, ob die Optionsschaltfläche auf ES-2015 aktiviert ist:

function getValueFromRadioButton( name ){
  return [...document.getElementsByName(name)]
         .reduce( (rez, btn) => (btn.checked ? btn.value : rez), null)
}

console.log( getValueFromRadioButton('payment') );

<div>  
  <input type="radio" name="payment" value="offline">
  <input type="radio" name="payment" value="online">
  <input type="radio" name="payment" value="part" checked>
  <input type="radio" name="payment" value="free">
</div>

3voto

designdust Punkte 79

Dies funktioniert in allen Versionen von Jquery.

//-- Check if there's no checked radio button
if ($('#radio_button').is(':checked') === false ) {
  //-- if none, Do something here    
}

Um eine Funktion zu aktivieren, wenn ein bestimmtes Optionsfeld markiert ist.

// get it from your form or parent id
    if ($('#your_form').find('[name="radio_name"]').is(':checked') === false ) {
      $('#your_form').find('[name="radio_name"]').filter('[value=' + checked_value + ']').prop('checked', true);
    }

Ihr html

$('document').ready(function() {
var checked_value = 'checked';
  if($("#your_form").find('[name="radio_name"]').is(":checked") === false) {
      $("#your_form")
        .find('[name="radio_name"]')
        .filter("[value=" + checked_value + "]")
        .prop("checked", true);
    }
  }
)

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" id="your_form">
  <input id="user" name="radio_name" type="radio" value="checked">
        <label for="user">user</label>
  <input id="admin" name="radio_name" type="radio" value="not_this_one">
    <label for="admin">Admin</label>
</form>

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