Actualmente, tengo un código que sigue actualizando una lista de "tarjetas", durante la configuración aplica este código para agregar un botón de edición que activa un modal universal:
$("#C" + cardID + "Edit").off('click').click(function() { editCard(cardID); }); Donde cardID está en un ciclo que establece cada tarjeta y va de 1 a 5 para mis tarjetas ( C1Edit , C2Edit , etc.). Estoy usando .off('click') ya que actualmente el mismo código que mantiene los valores actualizados agrega los eventos a los botones en las tarjetas.
La función editCard() es la siguiente:
function editCard(id) { selectedCard = id; $("#cardEditName").val($("#C" + id + "T").html()); $("#cardEditUnit").val($("#C" + id + "U").html()); } El problema es que, cuando hago clic en el botón #C2Edit , obtengo una identificación de 5. Lo que significa que, de alguna manera, la función intenta acceder al valor actual de cardID , en lugar de tomar el valor cuando se creó el botón.
No estoy realmente seguro de cómo resolver este problema, o si hay algo obvio que me perdí (que espero que sea el caso).
Mi bucle:
for (element in result) { cardID = element; . . $("#C" + cardID + "Edit").off('click').click(function() { editCard(cardID); }); }Sé que mi ciclo debería funcionar bien, ya que otros campos que están configurados (estoy configurando varios campos a la vez) aparecen correctamente hasta donde puedo ver.