Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
el bucle javascript no funciona para el cálculo del campo de formset de django solo calcula un campo de formset con id como id_forms-0-rate

Este es el código en mi plantilla, toma el valor de la identificación del campo de entrada y calcula el valor. El código solo funciona para un campo o elemento de conjunto de formularios, como uno que tenga id= id_form-0-rate. No sé por qué el bucle no funciona para conjuntos de formularios agregados, como uno que tiene id = id_form-1-rate.

plantilla.html

 <script type = "text/javascript" > var id= $("#id_form-TOTAL_FORMS").val(); console.log(id); for(let i=0; i<10; i++) { console.log(i); $("#id_form-" + i + "-quantity").keyup(function () { var rate = parseFloat($("#id_form-" + i + "-rate").val()); var quantity = parseFloat($("#id_form-" + i + "-quantity").val()); var discount = parseFloat($("#id_form-" + i + "-discount").val()); $("#id_form-" + i + "-amount").val(rate * quantity - discount); }); $("#id_form-" + i + "-rate").keyup(function () { var rate = parseFloat($("#id_form-" + i + "-rate").val()); var quantity = parseFloat($("#id_form-" + i + "-quantity").val()); var discount = parseFloat($("#id_form-" + i + "-discount").val()); $("#id_form-" + i + "-amount").val(rate * quantity - discount); }); $("#id_form-" + i + "-discount").keyup(function () { var rate = parseFloat($("#id_form-" + i + "-rate").val()); var quantity = parseFloat($("#id_form-" + i + "-quantity").val()); var discount = parseFloat($("#id_form-" + i + "-discount").val()); $("#id_form-" + i + "-amount").val(rate * quantity - discount); }); } </script>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No necesita su código complicado. Solo necesito estas líneas:

 <script> $(document).on('keyup',"input[id$='-quantity']",fn); $(document).on('keyup',"input[id$='-rate']",fn); $(document).on('keyup',"input[id$='-discount']",fn); function fn(){ var rate = parseFloat($(this).closest("#parent").find("input[id$='-rate']").val()); var quantity = parseFloat($(this).closest("#parent").find("input[id$='-quantity']").val()); var discount = parseFloat($(this).closest("#parent").find("input[id$='-discount']").val()); $(this).closest("#parent").find("input[id$='-amount']").val(rate * quantity - discount); }; </script> {% csrf_token %} {{ formset.management_form }} {% for form in formset %} <div id="parent"> {{ form.as_p }} </div> {% endfor %}
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!