914 Stimmen

Wie wählt man ein Optionsfeld standardmäßig aus?

Ich habe einige Optionsschaltflächen und möchte, dass eine von ihnen standardmäßig ausgewählt wird, wenn die Seite geladen wird. Wie kann ich das tun?

<input type="radio" name="imgsel"  value=""  />

1445voto

Shakti Singh Punkte 81441

XHTML-Lösung:

<input type="radio" name="imgsel" value="" checked="checked" />

Bitte beachten Sie, dass der aktuelle Wert von checked Attribut spielt eigentlich keine Rolle; es ist nur eine Konvention, um die "checked" . Am wichtigsten sind Zeichenfolgen wie "true" ou "false" haben keine besondere Bedeutung.

Wenn Sie keine XHTML-Konformität anstreben, können Sie den Code vereinfachen:

<input type="radio" name="imgsel" value="" checked>

2 Stimmen

117 Stimmen

Genauso wichtig ist es, den Haken an der Sache zu kennen: Sie müssen sicherstellen, dass KEINE anderen Eingaben in dieser Optionsschaltflächengruppe das Markup checked="false" oder "checked" an sich enthalten. Andernfalls wird die letzte dieser Eingaben, die auf der Seite erscheint, angekreuzt. Nur derjenige, der standardmäßig ausgewählt werden soll, sollte ein Markup haben, das "checked" enthält.

5 Stimmen

Wenn das Problem weiterhin besteht, sollten Sie das Attribut autocomplete="off" um den Browser zu zwingen, den Standardwert einzustellen.

137voto

mdm Punkte 12210

Verwenden Sie das Attribut checked.

<input type="radio" name="imgsel"  value="" checked /> 

oder

<input type="radio" name="imgsel"  value="" checked="checked" />

16 Stimmen

<input type="radio" name="imgsel" value="" checked="false" /> bewirkt ebenfalls, dass die Schaltfläche geprüft wird.

49 Stimmen

Ich schlage vor, dass Sie nur checked o checked="checked" y vehement Vermeiden Sie die Verwendung von "wahr", da es impliziert, dass "falsch" das Gegenteil bewirkt... was nicht der Fall ist.

7 Stimmen

Die erste Wahl ist die richtige Antwort. Boolesche Attribute sollten keine Werte haben.

82voto

discodane Punkte 1899

Das beantwortet die Frage nicht ganz, aber für alle, die AngularJS verwenden und dies erreichen wollen, ist die Antwort etwas anders. Und eigentlich die normale Antwort wird nicht funktionieren (zumindest hat es nicht für mich).

Ihre HTML-Datei sieht ähnlich aus wie eine normale Optionsschaltfläche:

<input type='radio' name='group' ng-model='mValue' value='first' />First
<input type='radio' name='group' ng-model='mValue' value='second' /> Second

In Ihrem Controller haben Sie die mValue die mit den Optionsfeldern verbunden ist. Um einen dieser Auswahlknöpfe vorzubelegen, weisen Sie den $scope der Gruppe zugeordnete Variable auf den Wert des gewünschten Eingangs:

$scope.mValue="second"

Dadurch wird das "zweite" Optionsfeld beim Laden der Seite ausgewählt.

EDIT: Seit AngularJS 2.x

Der obige Ansatz funktioniert nicht, wenn Sie die Version 2.x oder höher verwenden. Verwenden Sie stattdessen ng-checked Attribut wie folgt:

<input type='radio' name='gender' ng-model='genderValue' value='male' ng-checked='genderValue === male'/>Male
<input type='radio' name='gender' ng-model='genderValue' value='female' ng-checked='genderValue === female'/> Female

5 Stimmen

Ich war überrascht, dass die akzeptierte Antwort nicht funktioniert hat - bis ich Ihren Kommentar gelesen habe. Ich benutze auch AngularJS, und dies funktionierte ein Genuss!

1 Stimmen

In meinem Fall, auch mit Angularjs, hatte ich Wert, aber ich musste es in ng-Wert ändern, damit es richtig funktioniert.

1 Stimmen

Ach ja. Es sollte beachtet werden, dass dies eine Antwort für Angular 1.x nicht größer ist

32voto

Gerben Jacobs Punkte 4325

Dieses Attribut hinzufügen:

checked="checked"

20voto

Rohjay Punkte 341

Sie haben es ziemlich gut hinbekommen... genau wie bei einem Kontrollkästchen müssen Sie nur das Attribut checked="checked" wie folgt hinzufügen:

<input type="radio" checked="checked">

...und Sie haben es geschafft.

Zum Wohl!

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