Foros del Web » Programando para Internet » Javascript »

Espacios en blanco en las opciones de un select

Estas en el tema de Espacios en blanco en las opciones de un select en el foro de Javascript en Foros del Web. Buenas compañeros, Necesito agregar una serie de elementos a un select pero no consigo que me respete los espacios en blanco. Pondré un ejemplo: La ...
  #1 (permalink)  
Antiguo 01/10/2013, 17:25
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 10 años, 9 meses
Puntos: 0
Espacios en blanco en las opciones de un select

Buenas compañeros,

Necesito agregar una serie de elementos a un select pero no consigo que me respete los espacios en blanco. Pondré un ejemplo:

La aplicación tiene un input type text y al pulsar la tecla intro se introduce el valor escrito en otro input type text. Para simplificar, en este ejemplo la función enter() introducirá el valor "hola espacio espacio espacio espacio espacio espacio espacio espacio espacio que hay".
Código Javascript:
Ver original
  1. <script>
  2.     function enter()
  3.     {
  4.         if(event.keyCode==13)
  5.         {
  6.             var cad = "hola         que hay";
  7.             var option = document.createElement("option");
  8.             option.text = cad;
  9.             conceptos.add(option);
  10.         }
  11.     }
  12. </script>

Código PHP:
Ver original
  1. echo "<input type=text name=total id=total onkeypress=enter() size=2>";
  2. echo "<select name=conceptos id=conceptos onchange=mostrar() size=10 style='width:350'></select>";

El resultado en Google Chrome es "hola que hay" dentro del select, sin respetar los espacios

El resultado en Internet Explorer es "hola espacio espacio espacio espacio espacio espacio espacio espacio espacio que hay" dentro del select, pero no me funciona correctamente. No me funciona porque luego, al pulsar sobre un elemento del select, tengo que mostrar las letras una a una y al mostrar las letras mediante la función alert() me da como resultado undefined.

Esta es la función que muestra las letras:
Código Javascript:
Ver original
  1. function mostrar()
  2.     {
  3.         alert(conceptos.options[conceptos.selectedIndex].text);
  4.         alert(conceptos.options[conceptos.selectedIndex].text.length);
  5.         for(var i=0;i<10;i++)
  6.             alert(conceptos.options[conceptos.selectedIndex].text[i]);
  7.     }
La primera línea me muestra el texto completo correctamente. La segunda el tamaño del texto. Y cuando empieza el for sólo muestra undefined y además sólo lo muestra 5 veces...
  #2 (permalink)  
Antiguo 01/10/2013, 18:36
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Espacios en blanco en las opciones de un select

Sobre los espacios en blanco en un select, dependerá del navegador si muestra o no dichos espacios. Para cuestiones de estética es posible forzar dichos espacios con &nbsp;

Respecto a la segunda función con los alert, seguramente te está ignorando los espacios, en vez de recorrer el text recorre el value
alert(conceptos.options[conceptos.selectedIndex].value[i]);
  #3 (permalink)  
Antiguo 02/10/2013, 02:58
 
Fecha de Ingreso: julio-2013
Mensajes: 44
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Espacios en blanco en las opciones de un select

Ya probé con &nbsp;

Si pongo:
Código Javascript:
Ver original
  1. var cad = "hola&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;que hay";

El resultado es hola&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;que hay

Respecto a la función alert(), al recorrer con el text o con el value el resultado es el mismo. Internet Explorer me muestra undefined. En cambio Google Chrome me muestra los caracteres uno a uno correctamente.

Etiquetas: blanco, espacios, funcion, google, input, opciones, 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 10:09.