私はいくつかのドロップダウンリストを設定するためのスクリプトを用意しています。 関数はDjangoでURLを呼び出します。手動更新でJQueryを実行する
これは私が持っている問題である:私はページをロードしたい場合は
、start_datesのドロップダウンが満たされる必要があるとEND_DATEのドロップダウンが空に保たれるべきです。
start_datesドロップダウンで値を選択すると、もう1つのスクリプトが実行され、end_datesドロップダウンに入力されます。
start_datesのドロップダウンを更新する関数を呼び出すので、start_dateに値が選択されていないため、end_datesを更新する関数が自動的に呼び出され、エラーが発生します。
日付を手動で選択すると、end_datesの関数のみを呼び出すことはできますか?
<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>