bind setAttribute () при изменении значения формы - PullRequest
0 голосов
/ 14 ноября 2018

простой вопрос jquery: у меня есть select2 select, где я хочу изменить фоновое изображение CSS для div, основываясь на котором выбран option, и передать его в контекст просмотра django.

при изменении я могу временно установить фоновое изображение, но оно сохраняется только во время события изменения, затем возвращается назад и перезаписывается файлом стиля. другая проблема заключается в том, что {{ cover_image_url }}, который является контекстом шаблона django, отображает последнее значение select {{cover_image_url}}, а не текущее (например: изменение выбора с N1 на N2, без изменения фонового изображения. измените форму выбора с N2 на N3 , он отображает фоновое изображение для N2, а не N3)

как я могу связать изменение, чтобы оно было постоянным до тех пор, пока страница не перезагрузится или опция выбора снова не изменится? спасибо

<script>
$(document).ready(function() {
    $('.tags').select2({
        selectOnClose: true
    }).on("change", function(e){
        if(this.value != "/"){
            // set this background until the next change
            document.getElementById("image-div").setAttribute("style","background-image:url('{{ cover_image_url }}')!important;")
        }
    });
});
</script>
...