yphastos
5/22/2017 - 4:29 PM

jQuery each

jQuery each

// jquery .each
ref: http://api.jquery.com/jquery.each/
jQuery.each( array, callback(index, value) )
jQuery.each( object, callback(key, value) )	

// nota que la funcion 
$.each()
// puede iterar sobre cualquier coleccion (array o objeto), y NO ES IGUAL a 
$(selector).each()
// el cual se usa para iterar SOLO en objetos jQ

//para selector.each():
// ref: https://api.jquery.com/each/

.each(Function( Integer index, Element element ))

a = $("img");

$(a).each(function(i,e){
	console.log("i: "+i+", e: "+e);
});

// para salir de un .each()

//para salir de un .each, se usa return false, que equivale a un break de un ciclo normal
// o bien, para seguir con la siguiente iteracion, se usa return true (o cualquier cosa no false), equivalente a un continue de un ciclo normal



qa = $('#datos_formato').serializeArray();

$.each(qa,function(k,v){
  console.log(k+":"+v);
  if(v.value == ""){
    alert(v.name+" es invalido");
    return false; // si es invalido, salgo del each
  }
  return !false; // si es valido, continuo (ya no se muestra el alert de valido para ese caso)
  alert(v.name+" es valido");
});

// ---
// jQObject.each( function( Integer index, Element element ){} );

// -----------
asignacion de evento on a elementos iterados con each...

ver: https://jsfiddle.net/odquywg6/

/* 
no se por que el on atado a cada elemento con each no mantiene la referencia a las variables de cada iteracion.
en cambio, se quedan con la referencia de la ULTIMA iteracion.
Se podria pensar que la asignacion al on no tiene acceso a las variables definidas fuera de el,
pero si asi fuera, tampoco deberian tener la referencia a los valores de la ultima iteracion.
*/

Para otro ejemplo de como se afectan las variables globales y locales, el scope, y la asignacin dentro de las funciones, ver:
https://jsfiddle.net/m0gkn8xw/



// ---------