Foros del Web » Programando para Internet » Javascript »

crear tabla dinamicamente

Estas en el tema de crear tabla dinamicamente en el foro de Javascript en Foros del Web. Tengo una tabla y un select, la cual quiero agregar filas con unos textbox dependiendo de la cantidad que escoja en el select. <select id="pisos"> ...
  #1 (permalink)  
Antiguo 28/01/2016, 08:15
 
Fecha de Ingreso: enero-2016
Mensajes: 5
Antigüedad: 8 años, 3 meses
Puntos: 0
crear tabla dinamicamente

Tengo una tabla y un select, la cual quiero agregar filas con unos textbox dependiendo de la cantidad que escoja en el select.

<select id="pisos">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>

<table style="width: 100%" border="0" class="tablaConBorde table" name="tablaPisos" id="tablaPisos" >
</table>

agrego los textbox manualmente de esta forma

function agregarPisos()
{
var table = document.getElementById("tablaPisos");
{
var row = table.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);

cell1.innerHTML = 'N° Piso<input disabled class="form-control " type="text" id="7_piso_num" value="" name="7_piso_num" >';
cell2.innerHTML = 'm2<input class="form-control" type="text" id="7_piso_m2" value="" name="7_piso_m2">';
cell3.innerHTML = 'N° Piso<input disabled class="form-control " type="text" id="7_piso_num2" value="" name="7_piso_num2" >';
cell4.innerHTML = 'm2 <input class="form-control" type="text" id="7_piso2_m2" value="" name="7_piso2_m2" >';
cell5.innerHTML = 'N° Piso<input disabled class="form-control " type="text" id="7_piso_num3" value="" name="7_piso_num3" >';
cell6.innerHTML = 'm2 <input class="form-control" type="text" id="7_piso3_m2" value="" name="7_piso3_m2" >';
}
}


LO QUE NECESITO HACER ES CON UN SELECT, DEPENDIENDO DEL VALOR QUE SE ESCOJA AGREGAR LA CANTIDAD DE DATOS EN LA TABLA, ME EXPLICO MEJOR.

SI EN EL SELECT ESCOJO 6, AGREGO 2 FILAS CON 3 TEXTBOX CADA FILA, YA QUE SOLO TIENEN QUE IR 3 TEXTBOX POR FILA, SI ESCOJO EN EL SELECT EL VALOR 9, SE DEBEN CREAR 3 FILAS CON 3 TEXTBOX CADA FILA.

alguna ayuda?
  #2 (permalink)  
Antiguo 28/01/2016, 13:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: crear tabla dinamicamente

Si quieres que eso ocurra inmediatamente después de seleccionar una opción, registra el evento change en el <select>, toma su valor, el cual corresponde al de la opción seleccionada, y utilizando una estructura cíclica, añade las filas.

Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     document.querySelector("#pisos").addEventListener("change", function(){
  3.         var cantidad = this.value;
  4.         for (var i = 0; i < cantidad; i++){
  5.             //Añade cada fila
  6.         }
  7.     }, false);
  8. }, false);

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 29/01/2016, 07:25
 
Fecha de Ingreso: enero-2016
Mensajes: 5
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: crear tabla dinamicamente

Cita:
Iniciado por Alexis88 Ver Mensaje
Si quieres que eso ocurra inmediatamente después de seleccionar una opción, registra el evento change en el <select>, toma su valor, el cual corresponde al de la opción seleccionada, y utilizando una estructura cíclica, añade las filas.

Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     document.querySelector("#pisos").addEventListener("change", function(){
  3.         var cantidad = this.value;
  4.         for (var i = 0; i < cantidad; i++){
  5.             //Añade cada fila
  6.         }
  7.     }, false);
  8. }, false);

Un saludo
Muchas gracias, no quiero aprovecharme de tu voluntan en ayudarme, pero me surge la siguiente complicación:

tu codigo me resuelve lo de la selección del "select", pero no se como realizar que al momento de agregar las filas, ingrese solo 3 textbox como máximo, por ejemplo

si en el "select" elijo 1, se debe agregar una fila con un textbox
si en el "select" elijo 2, se debe agregar una fila con 2 textbox
si en el "select" elijo 3, se debe agregar una fila con 3 textbox
si en el "select" elijo 4, se debe agregar 2 filas, en la 1ra con 3 textbox y en la 2da 1 textbox

se entiende?
  #4 (permalink)  
Antiguo 29/01/2016, 08:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: crear tabla dinamicamente

Bueno, como puedes ver, el valor del combo es fácil de capturar; ahora, solo necesitas condiciones.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: dinamicamente, html, input, tabla, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:57.