Aus irgendeinem Grund kann ich das nicht herausfinden.
Ich habe einige Optionsfelder in meinem HTML, die Kategorien umschalten:
<input type="radio" name="main-categories" id="_1234" value="1234" /> // All
<input type="radio" name="main-categories" id="_2345" value="2345" /> // Certain category
<input type="radio" name="main-categories" id="_3456" value="3456" /> // Certain category
<input type="radio" name="main-categories" id="_4567" value="4567" /> // Certain category
Der Benutzer kann auswählen, was er möchte, aber wenn ein bestimmtes Ereignis ausgelöst wird, möchte ich 1234
das Kontrollkästchen aktiviert setzen, da dies das standardmäßig aktivierte Optionsfeld ist.
Ich habe Versionen davon ausprobiert (mit und ohne jQuery):
document.getElementById('#_1234').checked = true;
Aber es scheint nicht zu aktualisieren. Ich muss es sichtbar aktualisieren, damit der Benutzer es sehen kann. Kann jemand helfen?
EDIT: Ich bin nur müde und habe das übersehen #
, danke für den Hinweis, dass und $.prop()
.
document.getElementById('_1234').checked = true;
#
Antworten:
Mischen Sie die CSS / JQuery-Syntax (
#
für Bezeichner) nicht mit nativem JS.Native JS-Lösung:
document.getElementById("_1234").checked = true;
JQuery-Lösung:
$("#_1234").prop("checked", true);
quelle
querySelector
ich mir vorstellen kann..attr("checked", "checked")
querySelector
wurde erst 2009 in Browsern ausgeliefert und erst einige Zeit später von Entwicklern weit verbreitet. Ich habe jQuery noch nie so oft verwendet, aber es hat die Entwicklung von JS erheblich beeinflusst.Wenn Sie die Schaltfläche "1234" einstellen möchten, müssen Sie die "ID" verwenden:
Wenn Sie die Browser-API ("getElementById") verwenden, verwenden Sie keine Selektorsyntax. Sie übergeben nur den tatsächlichen "ID" -Wert, den Sie suchen. Sie verwenden die Selektorsyntax mit jQuery oder
.querySelector()
und.querySelectorAll()
.quelle
Heute, im Jahr 2016, ist die Verwendung
document.querySelector
ohne Kenntnis der ID sicher (insbesondere wenn Sie mehr als 2 Optionsfelder haben):quelle
Der einfachste Weg wäre wahrscheinlich mit jQuery wie folgt:
Dies fügt ein neues Attribut "geprüft" hinzu (das in HTML keinen Wert benötigt). Denken Sie daran, die jQuery-Bibliothek einzuschließen:
quelle
$("#_1234").prop("checked", true)
Wenn Sie die
document.getElementById()
Funktion verwenden, müssen Sie nicht#
vor der ID des Elements übergeben.Code:
Demo: JSFiddle
quelle
Ich konnte ein Optionsfeld auswählen (aktivieren), indem ich diesen Javascript-Code in Firefox 72 auf einer Web-Erweiterungsoptionsseite verwendete, um den Wert zu LADEN:
Wo der zugehörige Code zum Speichern war der Wert:
Gegebenes HTML wie folgt:
quelle