Descripción del método

FirmaDescripción
wf.anadirIteracion(idTabla, manejadorDelAnadirIteracion);

Este método nos permite añadir filas a elementos de tipo tabla.

  • idTabla. Corresponde con el Id de la tabla de Webforms. 
  • manejadorDelAnadirIteracion (opcional). Función que se invoca tras añadir una fila. Recibe como parámetros el índice de la fila que acabamos de añadir, el id de la fila (por ejemplo, si el id de la tabla es 'tabla' y el indice es '2', nos devolverá 'tabla__-2-__'), y el elemento HTML que apunta a la fila.

Versiones

VersiónCambio sufrido
5.0A partir de esta versión está disponible su uso

Ejemplo de uso


Código utilizado

En el ejemplo siguiente, el código estará puesto en el apartado onLoad. No obstante, el código puede localizarse en otras partes del formulario.

Nota

Es responsabilidad del diseñador definir cuándo se añaden los valores.
Por ello, es necesario que si no queremos que se añadan datos cuando vengan precargados desde el json data, antes de añadir iteraciones, comprobemos que no existe ninguna previamente en la tabla.

var idTabla ="Nombre-tabla";
var filas = wf.obtenerValor("Nombre-campo-en-tabla", idTabla);
if (filas.length <=0){
	// Código para añadir iteraciones a la tabla
}
JS

Añadir iteración


/* Añade una nueva iteración */
wf.anadirIteracion('persona');
JS

Manejador de iteración sin parámetros adicionales


/* Función que se invocará tras añadirse la fila*/
function manejadorDelAñadirIteracion(indice, idTabla, $elementoIteracion) {
    console.log(wf.generarIdCampoIterador('persona', indice, 'nombre'));
    console.log(idTabla + 'nombre');
    console.log($elementoIteracion);
}

wf.anadirIteracion('persona', manejadorDelAñadirIteracion);
JS

Pasar parámetros adicionales al manejador mediante una función intermedia


/* Mediante función intermedia */
function manejadorDelAñadirIteracion2(indice, idTabla, $elementoIteracion, nombre, apellido) {
  wf.modificarValor("nombre", nombre, "persona", indice);
  wf.modificarValor("primer-apellido", apellido, "persona", indice);
}
 
var nombre = "Eliana";
var apellido = "García";
 
wf.anadirIteracion('persona', function(indice, idTabla, $elementoIteracion) {
    return manejadorDelAñadirIteracion2(indice, idTabla, $elementoIteracion, nombre, apellido);
});
JS

Pasar parámetros adicionales al manejador mediante el uso de _.partial


/* Mediante _.partial */
function manejadorDelAñadirIteracion3(indice, idTabla, $elementoIteracion, nombre, apellido) {
wf.modificarValor("nombre", nombre, "persona", indice);
wf.modificarValor("primer-apellido", apellido, "persona", indice);
}

var nombre = "Marta";
var apellido = "Del Pino";

wf.anadirIteracion('persona', _.partial(manejadorDelAñadirIteracion3, _, _, _, nombre, apellido));
JS

Recursos


Descarga los distintos recursos utilizados