Lo que creo que puede estar fallado es esto: .prev(".label")
Pongo un ejemplo que si funciona, y luego el input con el año:
Código Javascript:
Ver original
<span class="label">Nombre</span> <input type="text" name="nombre" value="" />
Código Javascript:
Ver original
<span class="label">Fecha de nacimiento (d/m/a)</span> <input type="text" name="nacimiento[]" value="" class="fecha" /> <select name="nacimiento[]"> <option value="1">Enero</option> <option value="2">Febrero</option> <option value="3">Marzo</option> <option value="4">Abril</option> <option value="5">Mayo</option> <option value="6">Junio</option> <option value="7">Julio</option> <option value="8">Agosto</option> <option value="9">Septiembre</option> <option value="10">Octubre</option> <option value="11">Noviembre</option> <option value="12">Diciembre</option> </select> <input type="text" name="nacimiento[]" id="year" value="" class="fecha" />
Me marca en rojo si falta el dia, pero no si falta el año. Incluso he intentado adjudicarle un validador propio, pero no funciona:
Código Javascript:
Ver original
if ( $("input#year").val().length < 4 ) // año. { respuestas[] = false; $(this).focus(); $(this).prev(".label").addClass("incompleto"); }