Überprüfen Sie das erste Optionsfeld mit JQuery

Lesezeit: 2 Minuten

Benutzer-Avatar
Matthew

Ich möchte das erste Optionsfeld jeder Gruppe überprüfen. Aber es gibt einige Optionsfelder, die deaktiviert sind, also sollte das Skript sie ignorieren und zur nächsten nicht deaktivierten Schaltfläche gehen.

Ich habe so etwas geschrieben, aber es funktioniert nicht:

$(document).ready(function(){
if ($("input['radio']).is(':disabled'))
    {  
        $(this).attr('checked', false );
    }
else
    {
        $(this).attr('checked', true );
    }
});

Danke vielmals

  • Oder@ Haim, input:radio.

    – David Thomas

    20. Oktober 2010 um 12:30 Uhr

Benutzer-Avatar
sje397

Wenn Ihre Schaltflächen nach ihrem Namensattribut gruppiert sind, versuchen Sie Folgendes:

$("input:radio[name=groupName][disabled=false]:first").attr('checked', true);

Wenn sie nach einem übergeordneten Container gruppiert sind, dann:

$("#parentId input:radio[disabled=false]:first").attr('checked', true);

  • Wenn Sie möchten, dass das Änderungsereignis ausgelöst wird, tun Sie dies .click() stattdessen

    – Jarin

    22. September 2013 um 23:51 Uhr

  • Es klappt. Aber ich muss auch das Änderungsereignis auslösen, sobald es auf wahr gesetzt ist.

    – Thamarai T

    25. August 2018 um 7:53 Uhr


  • Ich habe ‘.click()’ wie von @Yarin ausprobiert, aber es hat nicht funktioniert. Aber ich habe es verstanden. Um das ‘change’-Ereignis auszulösen, sobald es auf true gesetzt ist, $(“input:radio[name=groupName]).trigger(“ändern”); funktioniert perfekt.

    – Thamarai T

    25. August 2018 um 8:19 Uhr

Benutzer-Avatar
Sime Vidas

$("input:radio[name=groupX]:not(:disabled):first")

Dies sollte Ihnen das erste nicht deaktivierte Optionsfeld einer Gruppe geben …

Das Folgende macht, was Sie wollen:

$(document).ready(
  function(){
    $('input:radio:first-child').attr('checked',true);
  }
  );

Demo unter: JS Bin.

  • Um fair zu sein, bieten sowohl @Šime als auch @rahul vernünftige Gesundheitsprüfungen.

    – David Thomas

    20. Oktober 2010 um 12:31 Uhr

  • $(‘input:radio:first-child’) wählt das erste Optionsfeld aus einer beliebigen Optionsgruppe auf Ihrer Seite aus.

    – Michael D. Irizarry

    12. April 2012 um 19:23 Uhr


Benutzer-Avatar
Floyd

<input type="radio" name="r1"><br>
<input type="radio" name="r1"><br>
<hr>
<input type="radio" name="r2"><br>
<input type="radio" name="r2"><br>
<input type="radio" name="r2"><br>

<script>
$(function(){
    //removed duplicates form the following array
    $(jQuery.unique(
        //create an array with the names of the groups
        $('INPUT:radio')
            .map(function(i,e){
                return $(e).attr('name') }
            ).get()
    ))
    //interate the array (array with unique names of groups)
    .each(function(i,e){
        //make the first radio-button of each group checked
        $('INPUT:radio[name="'+e+'"]:visible:first')
            .attr('checked','checked');
    });
});
</script>

jsfiddle = http://jsfiddle.net/v4auT/

Benutzer-Avatar
Andreas

Ich habe die erste Antwort getestet und sie löst es nicht. Ich musste den folgenden Satz verwenden:

jQuery("input:radio[name=groupName]:visible")[0].checked=true;

Aktivieren Sie dazu das erste sichtbare Optionsfeld mit name = groupName

Benutzer-Avatar
VijayS91

Versuche dies :

 $("input:radio:not(:disabled)").attr("checked", true);

Um das erste Optionsfeld nur in einer Gruppe zu aktivieren, können Sie

 $("parentelement input:radio:not(:disabled):first-child").attr("checked", true);

Benutzer-Avatar
Kira

Ein kleines Upgrade für 2020. Die offizielle Dokumentation schlägt die Verwendung von “first()” und “prop()” vor.

$("input[name="groupName"][disabled=false]").first().prop("checked", true);

1204620cookie-checkÜberprüfen Sie das erste Optionsfeld mit JQuery

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy