Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] selectedIndex select dinamico

Estas en el tema de selectedIndex select dinamico en el foro de Javascript en Foros del Web. Probar el siguiente código por favor. La duda es la siguiente. Tengo un array de SELECTS que se van agregando dinamicamente y para tomar todos ...
  #1 (permalink)  
Antiguo 01/09/2014, 20:07
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
selectedIndex select dinamico

Probar el siguiente código por favor. La duda es la siguiente. Tengo un array de SELECTS que se van agregando dinamicamente y para tomar todos sus valores desde php necesito pasarlos como arrray.
Si lo uso de esta forma anda (pero esta forma no me sirve):

<select id="1" name="grups" size="1">
document.otro.grups.options[indice].value;

Si lo uso de esta otra forma no anda y esta es la forma que necesito que funcione:
<select id="1" name="grups[1]" size="1">
document.otro.grups[1].options[indice].value;

Como soluciono esto?.

Código Javascript:
Ver original
  1. <html>
  2. <head>
  3. <title></title>
  4. <script>
  5. var counter = 2;
  6. var arreg = [];
  7. var ig = 0;
  8.  
  9. function crear(){
  10.     var cadena = "XS:S:M:L:XL:XXL:XXXL:U:AM";
  11.     var vec = cadena.split(":");
  12.     var conjunto = "<option value='0'>Talles</option>";
  13.                
  14.     for (i = 0; i < (vec.length - 1); i++){    
  15.         var indice = document.otro.grups.selectedIndex;
  16.         var valor = document.otro.grups.options[indice].value;
  17.         arreg[ig] = valor;
  18.         if (vec[i] == arreg[ig]){
  19.             conjunto += "<option selected value=\""+vec[i]+"\">"+vec[i]+"</option>";
  20.             arreg[ig] = vec[i];
  21.         }else
  22.             conjunto+="<option value=\""+vec[i]+"\">"+vec[i]+"</option>";
  23.     }
  24.     ig++;  
  25.     document.getElementById('pp').innerHTML+="<select id=\""+counter+"\" name=\"grups["+counter+"]\" size=\"1\">"+conjunto+"</select><input type='text'  id=\""+counter+"\" name=\"talle["+counter+"]\">";
  26.      
  27.     counter++;
  28. }
  29. </script>
  30. </head>
  31. <body>
  32. <form action="Ej 1.html" method="post" name="otro"  >
  33. <div id="pp">
  34.     <select id="1" name="grups" size="1">
  35.         <option value="0">Talles</option>
  36.         <option value="XS">XS</option>
  37.         <option value="S">S</option>
  38.         <option value="M">M</option>
  39.         <option value="L">L</option>
  40.         <option value="XL">XL</option>
  41.         <option value="XXL">XXL</option>
  42.         <option value="XXXL">XXXL</option>
  43.         <option value="U">U</option>
  44.     </select>
  45.     <input type="text"  id="1" name="talle[1]">
  46. </div><br>
  47. </form>
  48. <br><br><br><a href="javascript:crear()">agregar select</a>
  49. </body>
  50. </html>
  #2 (permalink)  
Antiguo 02/09/2014, 05:41
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: selectedIndex select dinamico

Tal vez con array literal:

Código Javascript:
Ver original
  1. document.otro["grups[1]"].options[indice].value;

Por lo demás, parece funcionar bien
  #3 (permalink)  
Antiguo 02/09/2014, 17:00
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: selectedIndex select dinamico

Este es el error que me sale y no funciona. Usandolo de la manera que necesito y no anda tambien tira este error. Tenes idea como puedo arreglarlo?

Uncaught TypeError: Cannot read property 'selectedIndex' of undefined
  #4 (permalink)  
Antiguo 02/09/2014, 17:29
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: selectedIndex select dinamico

ya esta lo solucione gracias a este sitio
http://www.lawebdelprogramador.com/c...s_maneras.html

solo necesitaba obtener el valor del select y aca te muestra como tomar ese valor de diferentes maneras. Este es el codigo:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <meta charset="utf-8">
  3.     <title>javascript - Obtener el valor de un select de varias maneras</title>
  4.     <script>
  5.     function capturar()
  6.     {
  7.         // obtenemos e valor por el numero de elemento
  8.         var porElementos=document.forms["form1"].elements[4].value;
  9.         // Obtenemos el valor por el id
  10.         var porId=document.getElementById("seleccion").value;
  11.         // Obtenemos el valor por el Nombre
  12.         var porNombre=document.getElementsByName("seleccion")[0].value;
  13.         // Obtenemos el valor por el tipo de tag
  14.         var porTagName=document.getElementsByTagName("select")[0].value;
  15.         // Obtenemos el valor por el nombre de la clase
  16.         var porClassName=document.getElementsByClassName("formulario_select")[0].value;
  17.        
  18.         document.getElementById("resultado").innerHTML=" \
  19.             Por elementos: "+porElementos+" \
  20.             <br>Por ID: "+porId+" \
  21.             <br>Por Nombre: "+porNombre+" \
  22.             <br>Por TagName: "+porTagName+" \
  23.             <br>Por ClassName: "+porClassName;
  24.     }
  25.     </script>
  26.    
  27.     <style>
  28.         form   {width:250px;height:180px;border:1px solid #ccc;padding:10px;}
  29.     </style>
  30. </head>
  31.  
  32.     <h1>Obtener el valor de un select de varias maneras</h1>
  33.     <form id="form1">
  34.         Nombre:<br><input type="text" name="nombre" value="jose" id="nombre" class="formulario">
  35.        
  36.         <p><input type="checkbox" name="acepto" id="acepto" class="formulario_check"> Acepto el contrato</p>
  37.        
  38.         <p>Deacuerdo: Si<input type="radio" name="deacuerdo" value="si"> No<input type="radio" name="deacuerdo" value="no"></p>
  39.        
  40.         <p>
  41.         <select name="seleccion" id="seleccion" class="formulario_select">
  42.             <option value="1">primera</option>
  43.             <option value="2">segunda</option>
  44.         </select>
  45.         </p>
  46.     </form>
  47.     <input type="button" value="Que valor hay en el select" onclick="capturar()">
  48.     <div id="resultado"></div>
  49.    
  50.     <p><a href="http://www.lawebdelprogramador.com">http://www.lawebdelprogramador.com</a></p>
  51. </body>
  52. </html>
  #5 (permalink)  
Antiguo 02/09/2014, 17:31
Avatar de Fernarey1810  
Fecha de Ingreso: noviembre-2008
Mensajes: 214
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: selectedIndex select dinamico

Por si les sirve con esta funcion quito los select que voy agregando. Doy por solucionado esto gracias.

Código Javascript:
Ver original
  1. function quitar(){
  2.    
  3.     if (counter > 2){  
  4.         var divs = document.getElementsByTagName('select');
  5.         var divs2 = document.getElementsByTagName("input");
  6.         var quitar = divs.length;
  7.        
  8.         i = divs.length;
  9.         while (i) {
  10.             i -= 1;
  11.             if (divs[i].getAttribute('id') == quitar) {
  12.                 divs[i].parentNode.removeChild(divs[i]);
  13.                 divs2[i].parentNode.removeChild(divs2[i]);
  14.             }
  15.         }      
  16.         counter--;  
  17.     }
  18. }

Etiquetas: dinamico, funcion, html, input, php, select, selectedindex, 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 03:45.