Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2015, 12:53
EmilianoEmiliano
 
Fecha de Ingreso: mayo-2015
Mensajes: 47
Antigüedad: 9 años, 9 meses
Puntos: 0
Cargar select en tabla html

Hola como están, tendrían la amabilidad de guiarme con lo siguiente:

Mediante un botón agrego nuevas filas a una tabla html con sus respectivos campos, incluido un select:

Código Javascript:
Ver original
  1. var id_elementos=1,id_selec=0,suma=0, longitud=0,re=0;
  2.             function fn_agregar(){
  3.  
  4.  if(document.getElementById("nombre").value!="" || document.getElementById("precio").value!="" || document.getElementById("cantidad").value!=""  ){
  5.  
  6.                 fn_comprobar_duplicados();
  7.                 var nombre=document.forms["frm_venta"].nombre.value;
  8.                 var precio=document.forms["frm_venta"].precio.value;
  9.                 var cantidad=document.forms["frm_venta"].cantidad.value;
  10.                 var preciot=parseFloat(1*precio).toFixed(2);
  11.  
  12.  cadena = "<tr>";
  13.  
  14. cadena=cadena + "<td width='20px;'>" + "<select id='select_venta["+id_elementos+"]' name='select_venta["+id_elementos+"]' class='txtcantidad_tabla_venta' onchange='pasar_valor(this.value)'>"+"<option selected value='1'>1</option>"+"<select/>"+"</td>";
  15.  
  16. cadena=cadena + "<td width='20px;'>" + "<input type='text' id='cantida_venta["+id_elementos+"]' name='cantida_venta["+id_elementos+"]' class='txtcantidad_tabla_venta' value='"+1+"'/>" +"</td>";  
  17.            
  18. cadena=cadena + "<td>" + "<input type='text' id='detalle_venta["+id_elementos+"]' name='detalle_venta["+id_elementos+"]' class='txtdescipcion_tabla_venta' value='"+nombre+"'/>" +"</td>";
  19.  
  20. cadena=cadena + "<td width='80px;'>" + "<input type='text' id='preciou_venta["+id_elementos+"]' name='preciou_venta["+id_elementos+"]' class='txtpreciou_tabla_venta' value='"+precio+"' />" +"</td>";
  21.  
  22. cadena=cadena + "<td width='75px;'>" + "<input type='text' id='preciot_venta["+id_elementos+"]' name='preciot_venta["+id_elementos+"]' class='txtpreciot_tabla_venta' value='"+preciot+"' />" +"</td>";
  23.                
  24. cadena = cadena + "<td width='20px;'><a class='elimina' title='Eliminar de lista de ventas'><img src='../../././images/delete.png' /></a></td>";
  25.  
  26.  $("#tablas_venta tbody").append(cadena);
  27.  
  28. //////////Aquí agrego los datos del select añadido anteriormente////////////
  29.  
  30. var selector = document.getElementById("select_venta["+id_elementos+"]");          
  31.                  for (var i = 1; i <= cantidad ; i++)
  32.                  {
  33.                   selector.options[i] = new Option(i,i);
  34.                  }
  35.     ///////////////////////////////////
  36.          
  37.  document.getElementById('div_btn_agregar').style.display='none';
  38.                                fn_dar_eliminar();
  39.                 fn_cantidad();
  40.                 fn_sumar();
  41.                 id_elementos++;
  42.                                                    
  43.             }else{
  44.  
  45.              alert("Antes de agregar debe buscar un producto disponible en el stock");
  46.              document.getElementById('div_btn_agregar').style.display='none';  
  47.                        
  48.                  }
  49.                  
  50.             }

El problema es que el select debe cargar una lista de números dependiendo de:
Código Javascript:
Ver original
  1. var cantidad=document.forms["frm_venta"].cantidad.value;
,
los dos primeras columnas se agrega bien pero luego la tercera o las columnas que se agregue toma un valor vació, su valor pasa al select de la segunda columna, el código lo tengo de esta forma:

Código Javascript:
Ver original
  1. var selector = document.getElementById("select_venta["+id_elementos+"]");          
  2.                  for (var i = 1; i <= cantidad ; i++)
  3.                  {
  4.                   selector.options[i] = new Option(i,i);
  5.                  }

Les agradezco por los comentarios y sugerencias.

Última edición por EmilianoEmiliano; 02/09/2015 a las 21:41