Foros del Web » Programando para Internet » Javascript »

Escribir dentro de un campo select

Estas en el tema de Escribir dentro de un campo select en el foro de Javascript en Foros del Web. Hola. En una página tengo un campo select cargado con datos que provienen de una base de datos. Me solicitan que se pueda escribir un ...
  #1 (permalink)  
Antiguo 13/10/2016, 09:21
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Escribir dentro de un campo select

Hola.

En una página tengo un campo select cargado con datos que provienen de una base de datos.

Me solicitan que se pueda escribir un nuevo dato en el mismo select para luego agregarlo a la lista.

¿Es posible escribir en un select?

Gracias desde ya por las respuestas.
Saludos
  #2 (permalink)  
Antiguo 13/10/2016, 09:57
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Escribir dentro de un campo select

Crea un nuevo elemento option, le otorga el valor y lo asignas al combo

Código Javascript:
Ver original
  1. var option = document.createElement('option');
  2.        
  3.         option.value = item;
  4.        
  5.         combo.appendChild(option);
  #3 (permalink)  
Antiguo 13/10/2016, 14:22
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Escribir dentro de un campo select

No le veo la utilidad jajaja pero bueno.. No creo y no conozco un método para escribir EN el select, pero si escribir en un campo texto, y pasarlo...

Como dijo el camarada de arriba hay que usar appendchild... Te dejo un ejemplito sencillito para entenderlo, aplique la funcion see() para ver si tomaba bien el value del option recien creado...

Código HTML:
Ver original
  1.     <script type="text/javascript">
  2.     function add(){
  3.     var sel = document.getElementById("sl");
  4.     var add = document.getElementById("adder");
  5.    
  6.     var option = document.createElement("option");
  7.     option.appendChild(document.createTextNode(add.value));
  8.     sel.appendChild(option);
  9.     option.setAtrribute("value", add.value);
  10.     }
  11.    
  12.     function see(){
  13.     alert(document.getElementById("sl").value);
  14.     }
  15.     </script>
  16. </head>
  17.  
  18. <select id="sl">
  19.     <option value="A">A</option>
  20.     <option value="B">B</option>
  21.     <option value="C">C</option>
  22. </select><br/>
  23.  
  24. <input type="text" id="adder" /><button onclick="add();">Agregar opción</button><br/>
  25. <button onclick="see()">Ver</button>
  26.  
  27. </body>
  28. </html>

Saludos,
  #4 (permalink)  
Antiguo 13/10/2016, 16:52
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Escribir dentro de un campo select

No es estrictamente necesario usar appendchild() o crear un elemento. Se puede usar insertAdjacentHTML, el cual analiza el texto y añade el nodo resultante en la posición que se desee.

Código Javascript:
Ver original
  1. combo.insertAdjacentHTML('beforeend', '<option value="'+ítem+'">'+ítem+'<\option>');
[URL="https://developer.mozilla.org/es/docs/Web/API/Element/insertAdjacentHTML"]https://developer.mozilla.org/es/docs/Web/API/Element/insertAdjacentHTML[/URL]
  #5 (permalink)  
Antiguo 14/10/2016, 06:39
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: Escribir dentro de un campo select

Gracias por las respuestas.

Voy a probar lo que ustedes me han contestado.

Lo que estoy necesitando hacer es exactamente lo que existe en este foro donde aparece "Ir al Foro". Es decir hace una búsqueda según lo escrito (y en cualquier parte del texto) y además si quiero puedo desplegar la lista.

Saludos
  #6 (permalink)  
Antiguo 14/10/2016, 08:10
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Escribir dentro de un campo select

No, mira lo que pretendes hacer se denomina "autocomple". Esto puedes hacerlo facilmente con el elemento <datalist> de html5. El inconveniente es que no es soportado hasta versión 11 de internet explorer. Para tener mayor soporte, puedes usar este

Última edición por mpozo; 14/10/2016 a las 08:19
  #7 (permalink)  
Antiguo 14/10/2016, 13:26
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: Escribir dentro de un campo select

mpozo, entiendo lo que me dices.

Miré el código fuente de la página de este foro y por lo que vi, lo utilizado no es un datalist (me parece que es un select).

Saludos
  #8 (permalink)  
Antiguo 14/10/2016, 14:17
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Escribir dentro de un campo select

Buenísimo mpozo no conocía ese método, agregado a mi brain!!

  #9 (permalink)  
Antiguo 16/10/2016, 14:40
 
Fecha de Ingreso: abril-2005
Mensajes: 483
Antigüedad: 19 años
Puntos: 3
Respuesta: Escribir dentro de un campo select

El datalist funciona en Android?

Pregunto porque en mi portátil con Windows si funciona y en mi celular con Android no funciona. En los dos casos uso Chrome.
  #10 (permalink)  
Antiguo 18/10/2016, 07:21
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Escribir dentro de un campo select

Ya no viene al caso según he leido otro tema posterior tuyo, pero cuando quieras saber el soporte que tiene un método, elemento, etc, visita esta página
http://caniuse.com/#search=datalist

Etiquetas: campo, select
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 11:30.