Cita:
Iniciado por Dany_s ponele clases a tus inputs
en tu evento haces referencia a tu elemento con
$(this)
entonces te moves hasta el tr con closest
$(this).closest('tr')
y ahi busca tu input
if ($(this).closest('tr').find('.claseInput').val() == '')
alert('vacio');
y si no es para una fila específica sino para todos es más simple
$('selectorContendor').find('claseInput')
Gracias compañero , casi lo tengo pero me da un pequeño error:
Código:
$('#agregar').live('click', function(){
if ($(this).closest('tr').find('.name').val() == '')
alert('Por favor inserte un nombre');
else if ($(this).closest('tr').find('.vat').val() == '')
alert('Por favor inserte un dni correcto');
else if ($(this).closest('tr').find('.day').val() == '0')
alert('Por favor inserte un dia correcto');
else if ($(this).closest('tr').find('.month').val() == '0')
alert('Por favor inserte un mes correcto');
else if ($(this).closest('tr').find('.year').val() == '0')
alert('Por favor inserte un año correcto');
else { /* Si ha validado correctamente entonces.. */ newTr = '<tr>'+$('#tabla tr').clone().html()+'</tr>';
<!-- clonamos el html de la fila -->
/* Cambiamos el texto "agregar" por "eliminar", y eliminamos la id
live hace que el evento se ejecute con todas las clases eliminar, las ya creadas o las por crear */
$(this).text("Eliminar").addClass('eliminar').removeAttr('id');
$('#inquilinos').append(newTr); <!-- añadimos a continuación la siguiente fila clonada -->
return false;
} /* cierro el else */
});
El problema que tengo es que si lo hago de este modo , cuando un dato está mal sale el alert correspondiente, pero desaparecen todas las filas que ya había insertado, y esto es un problema, ya que lo suyo es que las filas ya insertadas no se borren , y simplemente no deje insertar una nueva hasta que no estén los datos correctamente validados.
Mil gracias por tu ayuda.