Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda