Quiero pasar todos los valores de {{ i.nsn }} paso a paso al script ajax.
{% for i in dibbs %} <p>{{ i.nsn }}</p> {% endfor %}Si probé el script ajax en el camino
{% for i in dibbs %} <script> var nsn = {{ i.nsn }} console.log("Hello") $('.togglebtn').on("click",function(){ console.log("Hello") $.ajax({ type: 'GET', url: "http://localhost:8000/toggle/"+nsn, contentType: 'application/json', success: function (data) { appendData(data); function appendData(data) { var mainContainer = document.getElementById("switch_{{forloop.counter}}"); for (var i = 0; i < data.length; i++) { var div = document.createElement("div"); div.innerHTML = '<tr>' + data[i].line_items + ' ' + data[i].nomenclature+'</tr>' ; mainContainer.appendChild(div); } } } }); }); </script> {% endfor %}El script ajax también se repite según el ciclo.
Mi url es diferente para cada nsn. Quiero enviar una sola solicitud ajax cuando hice clic en el botón.
Quiero ejecutar una sola función ajax con un solo clic eliminando el bucle for.
Creo que puedes intentar obtener el valor de la etiqueta p y pasarlo a tu ajax
{% for i in dibbs %} <p>{{ i.nsn }}</p> <script> var nsn = ctrl.getElementsByTagName('p')[0].innerHTML; console.log("Hello") $('.togglebtn').on("click",function(){ console.log("Hello") $.ajax({ type: 'GET', url: "http://localhost:8000/toggle/"+nsn, contentType: 'application/json', success: function (data) { appendData(data); function appendData(data) { var mainContainer = document.getElementById("switch_{{forloop.counter}}"); for (var i = 0; i < data.length; i++) { var div = document.createElement("div"); div.innerHTML = '<tr>' + data[i].line_items + ' ' + data[i].nomenclature+'</tr>' ; mainContainer.appendChild(div); } } } }); }); </script> {% endfor %}También puede ocultar la etiqueta p si no desea mostrar