2012-10-03 11 views
42

Blick auf die HTML-Spezifikation, konnte aber nicht Kopf oder Zahl davon machen: http://www.w3.org/TR/html5/the-input-element.html#attr-input-checkedWas ist der richtige Weg, um ein Kontrollkästchen in HTML5 zu aktivieren oder zu deaktivieren?

Was ist die korrekte Möglichkeit, ein Kontrollkästchen in HTML (nicht dynamisch) zu überprüfen?

checked="true" 
checked="checked" 

Was ist der richtige Weg zu deaktivieren eine Checkbox?

<input type="checkbox" /> with no checked attribute 
checked="false" 
checked="none" 

Wo kann ich die HTML-Spezifikation überprüfen, um ein Kontrollkästchen zu aktivieren/deaktivieren?

Antwort

7

<input type="checkbox" checked />

HTML5 erfordert keine Attribute Werte haben

+1

Eigentlich ist dies keine Antwort, sie fragte: „Was ist der richtige Weg zu * deaktivieren * eine Checkbox?“ – YakovL

1
<form name="myForm" method="post"> 
    <p>Activity</p> 
    skiing: <input type="checkbox" name="activity" value="skiing" checked="yes" /><br /> 
    skating: <input type="checkbox" name="activity" value="skating" /><br /> 
    running: <input type="checkbox" name="activity" value="running" /><br /> 
    hiking: <input type="checkbox" name="activity" value="hiking" checked="yes" /> 
</form> 
3

Sie auf dieser Seite bei w3schools beziehen können, aber im Grunde können Sie alle nutzen:

<input checked> 
<input checked="checked"> 
<input checked=""> 
+0

Diese sind alle für überprüft? –

+0

Ja, sie sind, versuchen Sie und Sie werden sehen –

+2

Eigentlich ist dies keine Antwort, sie fragten: "Was ist der richtige Weg, * eine Checkbox zu deaktivieren?" – YakovL

15

Nach HTML5 Zugluft, die checked Attribut ist eine „boolean attribute“ und „Das Vorhandensein eines booleschen Attribut auf einem Element, den wahren Wert darstellt, und das Fehlen des Attribut stellt die falsche Wert. "Es ist der Name des Attributs, das zählt und ausreicht. Somit wird ein Kontrollkästchen machen zunächst geprüft, verwenden Sie

<input type=checkbox checked> 

standardmäßig in Abwesenheit des checked Attribut, eine Checkbox zunächst nicht aktiviert ist:

<input type=checkbox> 

Keeping Dinge auf diese Art und Weise sie einfach hält, Wenn Sie jedoch der XML-Syntax entsprechen müssen (dh HTML5 in der XHTML-Linearisierung verwenden), können Sie keinen Attributnamen allein verwenden. Dann sind die zulässigen Werte (nach HTML5-Entwürfen) die leere Zeichenfolge und die Zeichenfolge checked, Groß- und Kleinschreibung nicht beachtet. Beispiel:

<input type="checkbox" checked="checked" /> 
4

In jQuery:

das Kontrollkästchen Um zu überprüfen:

$("#checkboxid").attr("checked","checked"); 

das Kontrollkästchen deaktivieren:

$("#checkboxid").removeAttr("checked"); 

Die anderen Antworten auf die Lösung andeuten und Sie zeigen zur Dokumentation, die Sie nach weiteren Ausgrabungen zu dieser Antwort bringen werden. Jukka K. Korpela hat den Grund, dass dies die richtige Antwort ist, im Grunde bin ich seinem Link gefolgt und habe dann die jQuery-Dokumente nachgeschlagen, um zu diesem Ergebnis zu kommen.Ich dachte nur, ich würde zukünftige Leute retten, die diesen Artikel die zusätzlichen Schritte finden.

+1

Sie sollten. Prop(), nicht. ATTR() verwenden –

2

Ergänzende Antwort auf Robert Antwort http://jsfiddle.net/ak9Sb/ in jQuery

Wenn Ermitteln/Setzen von Kontrollkästchen Zustand kann man diese Phänomene auftreten:

.trigger("click"); 

Ist eine ungeprüfte Checkbox, aber nicht hinzufügen, das Attribut checked. Wenn Sie Trigger verwenden, versuchen Sie nicht, den Status mit dem Attribut "checked" zu erhalten.

.attr("checked", ""); 

Ist das Kontrollkästchen nicht deaktivieren ...

Verwandte Themen