Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Obtener id y texto de un select

Estas en el tema de Obtener id y texto de un select en el foro de Javascript en Foros del Web. Hola a todos tengo este código con el cual estoy tratando de pasar mi elemento elegido a un input text... funfiona bien pero necesito que ...
  #1 (permalink)  
Antiguo 23/01/2014, 14:04
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Obtener id y texto de un select

Hola a todos tengo este código con el cual estoy tratando de pasar mi elemento elegido a un input text... funfiona bien pero necesito que mi text pescolar tenga el $Name(texto) y no el $id... ya cambie <option value='$Name'> y lo hace pero necesito tener los dos valores el $id y el $Name... Desde ya GRACIAS
Código PHP:
<select name="periodo"  style="width:260px" onClick="document.getElementById('pescolar').value=this.value;" >
 <option value="0">Elige una opción</option>
<?php   

 
do {    
  
$id $row_ciclo['id']; 
  
$Name $row_ciclo['periodo']; 
  echo 
" <option value='$id'>$Name</option>"
 } while (
$row_ciclo mysql_fetch_assoc($ciclo));  
?>  
        </select>
        <input  type="text"  name="pescolar" id="pescolar"  value="" />
  #2 (permalink)  
Antiguo 23/01/2014, 14:27
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Obtener id y texto de un select

Cambia tu onclick por un onchange que sería lo correcto. Además lo ideal sería de que delegues una función para que haga el trabajo (ya que no se lo puede hacer en unas pocas lineas de código)

Código PHP:
Ver original
  1. <select name="periodo"  style="width:260px" onchange="setValues(this)" >
  2.     <option value="0">Elige una opción</option>
  3.     <?php    
  4.     do {    
  5.     $id = $row_ciclo['id'];  
  6.     $Name = $row_ciclo['periodo'];  
  7.     echo " <option value='$id'>$Name</option>";  
  8.     } while ($row_ciclo = mysql_fetch_assoc($ciclo));  
  9.     ?>  
  10. </select>
  11. <input  type="text"  name="pescolar" id="pescolar"  value="" />

Y en tu head dentro de unas etiquetas script coloca

Código Javascript:
Ver original
  1. function setValues(select){
  2.     var text = select.options[select.selectedIndex].text,
  3.         id = select.value;
  4.     document.getElementById('pescolar').value = text + " " +id;
  5. }

Demo

Ya queda de ti como modificarlo

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 23/01/2014, 16:35
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Obtener id y texto de un select

Cita:
Iniciado por jonni09lo Ver Mensaje
Cambia tu onclick por un onchange que sería lo correcto. Además lo ideal sería de que delegues una función para que haga el trabajo (ya que no se lo puede hacer en unas pocas lineas de código)

Código PHP:
Ver original
  1. <select name="periodo"  style="width:260px" onchange="setValues(this)" >
  2.     <option value="0">Elige una opción</option>
  3.     <?php    
  4.     do {    
  5.     $id = $row_ciclo['id'];  
  6.     $Name = $row_ciclo['periodo'];  
  7.     echo " <option value='$id'>$Name</option>";  
  8.     } while ($row_ciclo = mysql_fetch_assoc($ciclo));  
  9.     ?>  
  10. </select>
  11. <input  type="text"  name="pescolar" id="pescolar"  value="" />

Y en tu head dentro de unas etiquetas script coloca

Código Javascript:
Ver original
  1. function setValues(select){
  2.     var text = select.options[select.selectedIndex].text,
  3.         id = select.value;
  4.     document.getElementById('pescolar').value = text + " " +id;
  5. }

Demo

Ya queda de ti como modificarlo

Saludos
Gracias ;) Bastante bien explicado

Etiquetas: input, php, select, 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 13:41.