Tengo una lista de elementos que elimino usando AJAX.jQuery ajax this.id undefined
Esta lista es una lista simple con divs y cada div como id, de modo que cuando el elemento se elimina de la base de datos, devuelvo true y luego quita la línea.
Aquí mi código:
HTML
<div id="row1">
<div>item1</div>
<div><a href="...">view</a></div>
<div><a id="1">delete</a></div>
</div>
JS
$('.delete').click(function() {
if (!confirm('Are you sure you want to delete?')) {
return false;
}
$.ajax({
type: "POST",
url: '/delete_record',
data: 'id=' + this.id,
cache: false,
success: function (result) {
if (result == 'good') {
$('#row' + this.id).remove();
}
}
});
});
Por alguna razón el this.id
no funciona porque no está definido this.id
... ¿por qué? Tengo id="1"
en mi a href.
de: No hay elementos que tienen la clase '.delete', y si no era lo que se necesita para salvar la referencia a' this' en el controlador de clic, y se refieren a que dentro del manejador de éxito. – Esailija
posible duplicado de [$ (esto) dentro del éxito de AJAX no funciona] (http://stackoverflow.com/questions/6394812/this-inside-of-ajax-success-not-working) –