Der Codeschnipsel: Betrachten Sie den Code-Schnipsel (https://jsfiddle.net/Zikaynam/sgha2fkg):Radiobutton Gruppe Initialisierungsfehler
<?php
$gender = "";
?>
<label>Gender<span>*</span></label>
<div>
<div id="gender" data-toggle="buttons radio">
<label>
<input type="radio" name="gender" value="M" checked=<?php ($gender=="M") ? 'checked' : '' ?>/> Male
</label>
<label>
<input type="radio" name="gender" value="F" checked=<?php ($gender=="F") ? 'checked' : '' ?>/> Female
</label>
<label>
<input type="radio" name="gender" value="L" checked=<?php ($gender=="L") ? 'checked' : '' ?>/> LGBT
</label>
</div>
</div>
Die Intention: Die Absicht des Code-Snippets ist eine globale Variable zu initialisieren und die genannte verwenden globale Variable, um zu bestimmen, welcher Radiobutton anfänglich "überprüft" wird oder ob alle Radioknöpfe anfänglich "nicht markiert" sind.
Der Ausfall: Wie es in der gegebenen Verbindung I die globale Variable initialisiert gezeigt wird „beabsichtigen gesetzt, um zunächst den Radio-Buttons als“ mit „nicht markiert“, aber es stellt sich heraus, dass einer der Radio-Buttons war „geprüft“ . Ich bin neu in der Webentwicklung, so dass ich etwas übersehen oder etwas vermasselt habe. Kann mir also jemand zeigen, was mit meinem Code-Snippet nicht stimmt und warum hat es sich nicht so verhalten, wie ich es mir vorgestellt habe? Danke für den Ratschlag.
Sie setzen eine Variable auf eine leere Zeichenfolge - und dann tun Sie ein paar Tests, um zu sehen, ob es einen von mehreren Werten hat sind keine leere Zeichenkette ... wie soll das irgendeinen Sinn machen? – CBroe
dann, wie kommt es, selbst wenn ich $ Geschlecht als "M" initialisiert hat es immer noch nicht funktioniert? sollte die leere Zeichenkette nicht ein Faktor sein, da ich den Wert teste und wenn der Test fehlschlug, sollte die Schaltfläche nicht deaktiviert sein? – Zikaynam
Das ist, weil 'checked 'ein [boolesches Attribut] ist (http://www.w3.org/TR/html5/infrastructure.html#boolean-attribute) - seine bloße Anwesenheit bedeutet, dass es als gesetzt betrachtet wird, egal was Wert ist. Sie müssen nicht 'checked =' drin für Radio-Buttons, die an erster Stelle deaktiviert werden sollen. – CBroe