Métodos Javascript que te pueden ser útiles

Hola a todos, Ufff hace mucho que no publico una entrada contundente. La verdad he estado demasiado ocupado realizando mi tesis de la cual les hablaré en un tiempo más... cuando la termine.

Este post algo tiene que ver con mi tesis y son algunos de los métodos javascript que he tenido que construir para facilitar la obtención de datos y validaciones (a pesar de que ya existen frameworks como JQuery que ya lo hacen, siempre es mejor saber como se hacen las cosas antes que la total abstracción).



El siguiente método obtiene todos los elementos HTML de un tipo específico y cuyo ID cumpla con patrón recibido como parámetro.

function getElementsLikeID( tagName, likeID ){
var elementsLike = [];
var elementos = document.getElementsByTagName( tagName );
if( elementos!=null ){
var j=0;
for( i=0 ; i<elementos.length ; i++ ){
if( elementos[i].id!=null && elementos[i].id.indexOf(likeID)>-1 ){
elementsLike[j++] = elementos[i];
}
}
}
return elementsLike;
}


Si ejecutas getElementsLikeID('INPUT','porcentajes_'); devolverá un arreglo con todos los elementos HTML input cuyo ID contenga la palabra 'porcentajes_'.


Utilizando el método "getElementsLikeID" se pueden hacer una infinidad de funciones, por ejemplo una que permita cambiar la clase de diversos elementos de la página.

function cambiaClassPorTag( tagName, likeID, nombreClase ){
var elementos = getElementsLikeID( tagName, likeID );
if( elementos!=null ){
for( i=0 ; i<elementos.length ; i++ ){
elementos[i].className = nombreClase;
}
}


Por ultimo les dejo unos métodos que sirven para marcar varios checkbox que posean un nombre en común y otro para marcar todos los checkbox que estén dentro de una columna de una tabla (al hacer click en la columna se marcan todos los checkbox).

1) Marcar o descmarcar todos los checkbox con nombre en común.

function checkBoxLikeNameMarcar( name ){
checkBoxLikeName( name, true );
}

function checkBoxLikeNameDesmarcar( name, marcar ){
checkBoxLikeName( name, false );
}

function checkBoxLikeName( name, marcar ){
var checkBoxes = document.getElementsByTagName('INPUT');
for ( i=0 ; i<checkBoxes.length ; i++){
if(checkBoxes.type='CHECKBOX' && checkBoxes[i].name.indexOf(name)>-1){
if( marcar && !checkBox[i].checked )
checkBoxes[i].click();
else if ( !marcar && checkBoxes[i].checked )
checkBoxes[i].click();
}
}
}


2)Marcar todos los checkbox de una columna de una tabla.
*El parámetro "aLink" es un link que va en un o al principio de la columna.

function checkColumna( aLink ){
var tdPresionado = aLink .parentNode;
var trTabla = td.parentNode;
var pos = 0;
for( var i=0 ; i<trTabla.cells.length ; i++ )
if( tr.cells[i]==tdPresionado )
pos = i+1;
for( var i=2 ; i<trTabla.parentNode.rows.length ; i++ ){
trTabla.parentNode.rows[i].cells[pos].getElementsByTagName('INPUT')[0].click();
}


Bueno eso es todo por ahora, espero les sirva ;)
Saludos

PD: Feliz navidad y año nuevo ultra atrasado xD.

0 comentarios:

Publicar un comentario en la entrada

top