Ich versuche, history.pushState
mit einer Ajax-Suche zu verwenden, aber es ist nicht speichern Checkbox-Status.Gibt es eine Möglichkeit, den Checkbox-Status von .html()
Dies ist ein Beispiel dafür, wie ich das Formular an die pushstate speichere:
history.pushState({ FilterSearch: container.html() }, 'search', formAction);
Wo container
ist die Form mit Kontrollkästchen und Ergebnisse und formAction
ist die URL. Dies wird bei Änderung der Checkbox (im Ergebnis des Ajax Calls) aufgerufen.
Ich glaube, das Problem ist, dass .html
scheint nicht den aktualisierten Status der Checkbox zu bekommen - siehe das Schnipsel unten.
$('#test1').on('change', function() {
\t console.log($('#test').html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="test">
<input type="checkbox" id="test1" value="test">
</div>
Wenn Sie an der Konsole aussehen, wie Sie die Eingabe überprüfen und deaktivieren, können Sie es sehen nie das checked
Attribut muss hinzugefügt werden.
Gibt es trotzdem, dass der Pushstate sich an den Status der Checkboxen erinnert?
Die staue von Kontrollkästchen (oder einem anderen Objekt) in der DOM-Struktur nicht in dem HTML-Code gehalten. –
ist nicht $ ('# test'). Html() 'ein Objekt im DOM aufrufen? – Pete
@Pete dann müssen Sie das Attribut explizit anwenden, denke ich. – Jai