Ich habe ein Skript zum Auffüllen einiger Dropdown-Listen. Die Funktionen rufen eine URL in Django auf.Nur JQuery auf manuelle Aktualisierung ausführen
Dies ist die Frage, die ich habe:
Wenn ich möchte die Seite laden, sollte die start_dates Drop-Down-gefüllt werden und die end_date Dropdown sollten leer bleiben.
Wenn im Dropdown-Menü "start_dates" ein Wert ausgewählt wird, wird ein weiteres Skript ausgeführt, das das Dropdown-Menü "end_dates" füllt.
Da ich jedoch die Funktion zur Aktualisierung des Dropdown-Menüs start_dates aufruft, wird automatisch die Funktion zum Aktualisieren der Enddatumsdaten aufgerufen, was zu einem Fehler führt, da in start_date kein Wert ausgewählt ist.
Wie kann ich die Funktion nur für Enddatum aufrufen, wenn ein Datum manuell ausgewählt wird?
<script>
$(document).ready(function ({}) {
json_to_select("{% url "get_start_dates_list" %}", "#id_start_date");
});
$(function() {
$("#id_start_date").change(function() {
json_to_select("{% url "get_end_dates_list" 4545645 %}".replace("4545645", $(this).val()), "#id_end_date")
})
});
function json_to_select(url, select_selector, oncomplete) {
var opt = $(select_selector);
opt.html("");
opt.append($("<option/>").val(0).text("loading"));
opt.change();
$.getJSON(url, function (data) {
var opt = $(select_selector);
var old_val = opt.val();
opt.html("");
opt.append($("<option/>").val("").text("---------"));
$.each(data, function() {
opt.append($("<option/>").val(this.id).text(this.value));
});
opt.val(old_val);
opt.change();
if (oncomplete) {
oncomplete();
}
})
}
</script>