Django Modelmultiplechoicefield CheckboxВыбрать множественную проблему Получение выбранного флажка - PullRequest
0 голосов
/ 28 сентября 2018

Я работал весь день, пытаясь получить выбранные значения в одном наборе флажков в моей форме Django и копировать выбранные значения только в идентичный флажок в моей форме.Если пользователь нажимает на флажок в form.author, определенном ниже, я хочу, чтобы такой же идентичный флажок автоматически устанавливался на form.favorite_author, определенном ниже.

Я попробовал подход JQuery, как описано здесь ... Скопируйте выбранное значение флажка из одного флажка в другой немедленно, используя JQUERY , но пока не повезло.Недавно я начал исследовать авеню с полем Modelmultiplechoice и флажком selectmultipple параметров в самой форме.Из того, что я могу сказать, когда я использую JQuery и пытаюсь установить флажок в форме, значение возвращается как неопределенное, что, скорее всего, не распространяет выбор флажка на другой флажок.

Вот моя форма ....

class ManagerUpdateNewAssociateForm (forms.ModelForm):

class Meta:
    model = Library

    self.fields['author'] = forms.ModelMultipleChoiceField(
                            widget=forms.CheckboxSelectMultiple(),
                            queryset=Books.objects.all()

    self.fields['favorite_author'] = forms.ModelMultipleChoiceField(
                            widget=forms.CheckboxSelectMultiple(),
                            queryset=Books.objects.all() 

Мой HTML ...

      <div class="spacer83">
        {{ form.author }}
      </div>

      <div class="spacer83">
        {{ form.favorite_author }}
      </div>

Когда я пытался отследить JQuery, он сказал мне, что флажки не определены.Я немного прочитал о том, как Modelmultiplechoicefield, так как он использует набор запросов, он не показывает выборки, но я не могу понять, как его получить.

Заранее спасибо за любые мысли.

1 Ответ

0 голосов
/ 28 сентября 2018

В сочетании с другой проблемой, включенной в эту, я вернулся к маршруту JQuery и продолжил изучение.Из того, что я могу сказать, я не смог использовать класс для ввода из-за способа генерации HTML для форм Django в этом случае использования.В конечном итоге я смог использовать имя ввода и затем использовал приведенный ниже код для соответствующего опроса флажков:

        $(document).ready(function() {
          $("[name=author]").change(function() {
            let selectedValA = $(this).val();
            let isAChecked = $(this).prop("checked");
            $(`[name=favorite_author][value="${selectedValA}"]`).prop("checked", isAChecked);
          });
        });
        });
...