así que tengo una página HTML que tiene múltiples formularios generados:
{% for row in data %} <form action="/aggiorna_pratica" method='POST' id="inserisci_app_{{ row[0][1] }}"> <input name="id_pratica_{{ row[0][1] }}" type='hidden 'id="id_pratica_{{ row[0][1] }}" value="{{ row[0][1] }}"></input> <button type="submit" class="btn btn-success aggiorna_app"> <i class="fa fa-check"></i> </button> </form> {% endfor %}fila[0][1] contiene la identificación de la fila.
Estoy tratando de enviar solicitudes ajax desde cada uno de ellos, pero obtengo la misma identificación de la primera fila de cada fila.
Este es el JavaScript
$(document).ready(function() { $(".aggiorna_app").click(function(event) { //prevent submit event.preventDefault(); //Thx @alex //do things on submit $.ajax({ data : { tipo_richiesta : "inserisci_intervento", id : $('#id_pratica').val(), data_int : $('#data_int').val(), ora_int : $('#ora_int').val() }, type: "POST", url: "/aggiorna_pratica", beforeSend: function(){ //Before send data }, success: function(data){ console.log(data); } });}); });
Sé que soy un novato, pero realmente me vendría bien un poco de ayuda.
Aquí hay un ejemplo de trabajo para probar su evento de clic. El evento de clic está en los botones .aggoriorna_app dentro de cada formulario, pero la identificación que se pasa a la llamada ajax parece estar tomando el .val() cada vez, por ejemplo, $('#id_pratica').val() . Verá en mi ejemplo que cuando se hace clic en un botón, busque el valor de entrada más cercano y establezca la identificación de ajax en ese valor. Supongo que eso es lo que necesitas.
$(document).ready(function() { $(".aggiorna_app").click(function(event) { //prevent submit event.preventDefault(); //Thx @alex var id = $(this).parent().find('input').val(); alert(id); }); }); form { margin-bottom: 3rem; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="container"> <form action="/aggiorna_pratica" method='POST' id="inserisci_app_{{ row[0][1] }}"> <input name="id_pratica_{{ row[0][1] }}" type='hidden 'id="id_pratica_1" value="input_1"></input> <button type="submit" class="btn btn-success aggiorna_app"> <i class="fa fa-check"></i>CLICK ME </button> </form> <form action="/aggiorna_pratica" method='POST' id="inserisci_app_{{ row[0][1] }}"> <input name="id_pratica_{{ row[0][1] }}" type='hidden 'id="id_pratica_2" value="input_2"></input> <button type="submit" class="btn btn-success aggiorna_app"> <i class="fa fa-check"></i>CLICK ME </button> </form> <form action="/aggiorna_pratica" method='POST' id="inserisci_app_{{ row[0][1] }}"> <input name="id_pratica_{{ row[0][1] }}" type='hidden 'id="id_pratica_3" value="input_3"></input> <button type="submit" class="btn btn-success aggiorna_app"> <i class="fa fa-check"></i>CLICK ME </button> </form> </div>