Tengo un bucle for en ejecución en javascript. En este ciclo, estoy creando un elemento de lista y lo ato un evento de clic. Cuando hago clic en este elemento de la lista, quiero que llame a una función con los datos del objeto de bucle actual como parámetro.bucle Javascript con evento de clic enlazado que siempre devuelve el último resultado
El problema es que no importa en qué elemento de la lista haga clic. Los datos que se pasan como parámetro son el último elemento del objeto que estoy bucle en lugar del actual en el que se hace clic.
for(e in data) {
var suggestItem = $('<li>'+ data[e]['name'] +'</li>');
suggestItem.click(function() {
$(this).addClass('activeSuggestion');
suggestSelect(suggestField, data[e]);
});
suggestList.append(suggestItem);
}
creo que entiendo por qué sucede esto, pero no está seguro de cómo debería manejarlo.
posible duplicado de [jQuery Event Handler creado en el bucle] (http://stackoverflow.com/questions/7774636/jquery-event-handler-created-in-loop) – Pointy