Добавить / удалить элемент Dynami c html в форме Django - PullRequest
0 голосов
/ 14 марта 2020

Попытка добавить логи c в форму Django, где элемент ввода текста должен быть либо добавлен, либо удален, в зависимости от действия кнопки-флажка. Добавление входного текста работает нормально, но не может найти способ удалить его, когда флажок снят, поскольку не удается найти правильный селектор для $(this) для удаления ввода.

JavaScript

$(document).ready(function() {
  $('input.tCheck).on('
    click ',function(){
    if ($(this).is(':checked')) {
      $(this).closest('div').append('<div id="piiValue"><input text="text" name="+this.value+" required></div>');
    } else {
      $(this).closest('div').remove('#piiValue');
    }
  }
})

Forms.py

class tOnboardingForm(forms.Form);
      t_choices = (
               ('Name','Name'),
               ('email','email'),
                  )
      tpii = forms.MulitpleChoiceField(required=False,
                                       widget=forms.CheckboxSelectMulitple(attrs=             {'class':'tCheck'}),
choices=t_choices,)

1 Ответ

0 голосов
/ 14 марта 2020

Похоже, что вставленный div может быть нацелен непосредственно:

$(document).ready(function() {
  $('input.tCheck').on('click', function() {
    let $checkbox = $(this);
    if ($checkbox.is(':checked')) {
      $checkbox.closest('div').append('<div id="piiValue"><input text="text" name="+this.value+" required></div>');
    } else {
      $('#piiValue').remove();   // <-- here
    }
  })
})
...