Ich habe zwei Formularfelder, die eine Datumausgabe aus einem früheren Skript speichern, jede Eingabe Jahrstart und YEAREND werden mit einem Datum im Format YYYY-MM-DD aufgefüllt. Das Skript wird durch eine verschachtelte onchange-Funktion ausgelöst, indem die zwei Felder durch Auswählen eines Jahres aus einem anderen Dropdown-Menü gefüllt werden und dann die verschachtelte Funktion ausgelöst wird, um das zweite Dropdown-Auswahlelement zu füllen.Iteration zwischen Daten in Javascript
<input type="text" name="yearstart" id="yearstart" value="" readonly/>
<input type="text" name="yearend" id="yearend" value="" readonly/>
<select id="weekselect"></select>
<script>
function getWeeks() {
document.getElementById("weekselect").innerHTML = "";
var yearstart = new Date(document.getElementById('yearstart').value);
var yearend = new Date(document.getElementById('yearend').value);
var iDate = new Date(yearstart);
while (iDate < yearend) {
var newele = document.createElement('option');
newele.text = toJSONLocal(iDate);
document.getElementById('weekselect').appendChild(newele);
iDate.setDate(iDate.getDate() + 7)
}
}
</script>
es funktioniert, ist es aber leider nur funktioniert, wenn ich ein Jahr wählen, dessen Wert größer ist als die bereits ausgewählt, so 2015, 2016 dann funktioniert, aber ich dann 2 Jahre auch von Terminen wert nicht nur einen, also bin ich mir nicht sicher, was ich vermisse. Ich kann nur vermuten, dass das Skript ausgelöst wird, bevor die Werte aktualisiert werden, aber die Reihenfolge, in der die verschachtelten Skripts ausgeführt werden, sollte dies verhindern.
Irgendwelche Ideen Leute?
Ein Kommentar, ich glaube nicht, 'new Date (...)' wird richtig 'YYYY-MM-DD' analysieren. – IMTheNachoMan
Ich denke, Sie müssen mehr Code für uns zeigen, warum es zu früh feuert .., – IMTheNachoMan
scheint es zu funktionieren, aber durch das Entfernen der Ergebnisse bevölkern die Dropdown-Liste unverändert :( –