Назначить функцию изменения для полей Django Formset - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть следующая функция:

<script>
$("#id_form-0-ProductCode").change(function() {
  var pId = $("#id_form-0-ProductCode").val();
  console.log(pId)

  $.ajax({
    url: "/ajax/product",
    data : {'product': pId},

    success: function(data) {

      $("#id_form-0-DescriptionOfGoods").val(data.DescriptionOfGoods)
      $("#id_form-0-Type").val(data.UnitType)
      $("#id_form-0-Price").val(data.Price)

    }
  });
});
</script>

Это прекрасно работает, но проблема в том, что я предлагаю пользователю возможность динамически добавлять дополнительные формы в набор. Поэтому, когда они нажимают кнопку «Добавить», они получают новую форму. В этом случае мне понадобится та же функция для применения к этой форме, но все идентификаторы изменятся так, чтобы функция выглядела следующим образом:

<script>
$("#id_form-1-ProductCode").change(function() {
  var pId = $("#id_form-1-ProductCode").val();
  console.log(pId)

  $.ajax({
    url: "/ajax/product",
    data : {'product': pId},

    success: function(data) {

      $("#id_form-1-DescriptionOfGoods").val(data.DescriptionOfGoods)
      $("#id_form-1-Type").val(data.UnitType)
      $("#id_form-1-Price").val(data.Price)

    }
  });
});
</script>

Может ли кто-нибудь порекомендовать самый умный способ реализовать такую ​​вещь? Я не хочу писать функцию много раз A), потому что это громоздко и B), потому что это создаст верхний предел для того, сколько форм в наборе форм это будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...