Foros del Web » Programando para Internet » Jquery »

Cambiar texto en span con Jquery

Estas en el tema de Cambiar texto en span con Jquery en el foro de Jquery en Foros del Web. Buenas, tengo un select, por ejemplo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < select name = "escala" id = "escala" >         ...
  #1 (permalink)  
Antiguo 01/04/2011, 06:02
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 16 años
Puntos: 0
Cambiar texto en span con Jquery

Buenas, tengo un select, por ejemplo:
Código HTML:
Ver original
  1. <select name="escala" id="escala">
  2.                 <option value="Nivel 1">Nivel 1</option>
  3.                 <option value="Nivel 2">Nivel 2</option>
  4.                 <option value="Nivel 3">Nivel 3</option>
  5.                 <option value="Nivel 4">Nivel 4</option>
  6.                 <option value="Nivel 5">Nivel 5</option>
  7.                 <option value="Nivel 6">Nivel 6</option>
y justo debajo tengo una etiqueta span:
Código HTML:
Ver original
  1. <span id="descripcion"></span>
y quiero que cuando cambie la opción elegida, en el span aparezca un texto con la descripción, pero no consigo hacerlo.

Probando cositas he hecho algo así:
Código Javascript:
Ver original
  1. $('#escala').change(function() {
  2.   alert('Hola');
  3. });
pero al inspeccionar elemento, en Chrome, me indica un error, que no se cual es:
Uncaught TypeError: Cannot call method 'change' of null

¿Alguna idea de como introducir texto?¿...del error?
  #2 (permalink)  
Antiguo 01/04/2011, 08:14
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Hola, alavaros

Muevo tu tema al foro de Frameworks y Plugins Javascript desde Javascript.

Saludos,
  #3 (permalink)  
Antiguo 01/04/2011, 08:35
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Cambiar texto en span con Jquery

para introducir texto en algún elemento usa el método text()


por ejemplo lo que hago en este ejemplo es introducir el valor del option seleccionado en el span #descripcion

Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
  4.         <script>
  5.  
  6.         $(function(){
  7.  
  8.             $('#escala').change(function() {
  9.                 $('#descripcion').text( $(this).val() );
  10.             });
  11.  
  12.         });
  13.  
  14.         </script>
  15.     </head>
  16.     <body>
  17.  
  18.     <select name="escala" id="escala">
  19.         <option value="Nivel 1">Nivel 1</option>
  20.         <option value="Nivel 2">Nivel 2</option>
  21.         <option value="Nivel 3">Nivel 3</option>
  22.         <option value="Nivel 4">Nivel 4</option>
  23.         <option value="Nivel 5">Nivel 5</option>
  24.         <option value="Nivel 6">Nivel 6</option>
  25.     </select>
  26.  
  27.     <span id="descripcion"></span>
  28.     </body>
  29. </html>


pero creo que lo que quieres logras es obtener datos según la opción seleccionada, no?
  #4 (permalink)  
Antiguo 04/04/2011, 02:53
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 16 años
Puntos: 0
Respuesta: Cambiar texto en span con Jquery

Cita:
Iniciado por Dany_s Ver Mensaje
para introducir texto en algún elemento usa el método text()


por ejemplo lo que hago en este ejemplo es introducir el valor del option seleccionado en el span #descripcion

Código HTML:
Ver original
  1.     <head>
  2.         <title>Ejemplo</title>
  3.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
  4.         <script>
  5.  
  6.         $(function(){
  7.  
  8.             $('#escala').change(function() {
  9.                 $('#descripcion').text( $(this).val() );
  10.             });
  11.  
  12.         });
  13.  
  14.         </script>
  15.     </head>
  16.     <body>
  17.  
  18.     <select name="escala" id="escala">
  19.         <option value="Nivel 1">Nivel 1</option>
  20.         <option value="Nivel 2">Nivel 2</option>
  21.         <option value="Nivel 3">Nivel 3</option>
  22.         <option value="Nivel 4">Nivel 4</option>
  23.         <option value="Nivel 5">Nivel 5</option>
  24.         <option value="Nivel 6">Nivel 6</option>
  25.     </select>
  26.  
  27.     <span id="descripcion"></span>
  28.     </body>
  29. </html>


pero creo que lo que quieres logras es obtener datos según la opción seleccionada, no?
Bueno lo que quiero es bśsicamente lo que has puesto, es escribir un texto en el span, que no sea el valor del option, es como una descripción del nivel seleccionado. Probaré a partir de lo que has puesto.

Muchas gracias!
  #5 (permalink)  
Antiguo 04/04/2011, 10:23
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 19 años
Puntos: 87
Respuesta: Cambiar texto en span con Jquery

Los values no deben tener espacios.

Y lo que quieres hacer es algo asi:

Código Javascript:
Ver original
  1. $('#escala').change(function() {
  2.  
  3.                 var descripcion;
  4.                  var valor = $(this).val();
  5.  
  6.                 switch(valor){
  7.                 case "Level1":
  8.                 descripcion = "El nivel mas facil";
  9.                 break;
  10.  
  11.                 case "Level2":
  12.                 descripcion = "El nivel para experimentados";
  13.                 break;
  14.                 }
  15.  
  16.                 $('#descripcion').html(descripcion);
  17.  
  18.  
  19.  
  20.             });

Por cierto cuando el elemento al que quieres agregar la información no tiene "hijos" es mejor usar .html que .text, es mucho mas rápido.
  #6 (permalink)  
Antiguo 06/04/2011, 07:45
 
Fecha de Ingreso: diciembre-2008
Mensajes: 116
Antigüedad: 16 años
Puntos: 0
Respuesta: Cambiar texto en span con Jquery

Cita:
Iniciado por InKarC Ver Mensaje
Los values no deben tener espacios.

Y lo que quieres hacer es algo asi:

Código Javascript:
Ver original
  1. $('#escala').change(function() {
  2.  
  3.                 var descripcion;
  4.                  var valor = $(this).val();
  5.  
  6.                 switch(valor){
  7.                 case "Level1":
  8.                 descripcion = "El nivel mas facil";
  9.                 break;
  10.  
  11.                 case "Level2":
  12.                 descripcion = "El nivel para experimentados";
  13.                 break;
  14.                 }
  15.  
  16.                 $('#descripcion').html(descripcion);
  17.  
  18.  
  19.  
  20.             });

Por cierto cuando el elemento al que quieres agregar la información no tiene "hijos" es mejor usar .html que .text, es mucho mas rápido.
Perfecto, parece que eso me servirá, muchas gracias.

Saludos

Etiquetas: javascript, select, span
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 05:46.