Foros del Web » Programando para Internet » Javascript »

detectar cambio en combobox sin evento onchange

Estas en el tema de detectar cambio en combobox sin evento onchange en el foro de Javascript en Foros del Web. Hola, Necesito poder detectar cuando se hace un cambio de selección en una lista desplegable, sin utilizar el evento "onChange" ni jquery. Osea, capturar el ...
  #1 (permalink)  
Antiguo 29/03/2015, 15:45
 
Fecha de Ingreso: julio-2014
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
detectar cambio en combobox sin evento onchange

Hola,

Necesito poder detectar cuando se hace un cambio de selección en una lista desplegable, sin utilizar el evento "onChange" ni jquery.

Osea, capturar el valor de un combobox cuando hay un cambio de selección con puro javascript que apunte hacia el objeto con el que se identifica el combo.

Gracias
  #2 (permalink)  
Antiguo 30/03/2015, 02:14
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: detectar cambio en combobox sin evento onchange

¿Y cómo pretendes detectar un cambio en el combo si no piensas usar precisamente el evento que ocurre cuando se produce un cambio?

Sería bueno saber qué pretendes hacer y por qué no quieres usar dicho evento, porque, así como lo explicas, no tiene mucho sentido que digamos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 30/03/2015, 09:21
 
Fecha de Ingreso: julio-2014
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: detectar cambio en combobox sin evento onchange

Tardaría demasiado en explicarlo y si lo necesito así es por razones de peso y no por un antojo...

La pregunta es si alguien que domine javascript sabe como hacer esto, obviamente se puede ya que jquery lo contempla y funciona perfectamente con sus librerías.
  #4 (permalink)  
Antiguo 30/03/2015, 12:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: detectar cambio en combobox sin evento onchange

¿Podrías ser capaz de al menos darnos una breve y concisa explicación? ¿Cómo es que, según tú, con jQuery puedes hacer eso?

Ayúdanos a ayudarte.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 30/03/2015, 12:44
 
Fecha de Ingreso: julio-2014
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: detectar cambio en combobox sin evento onchange

Ejemplo JQUERY:

<form id="formulario">
<select id="combo">
<option value="FC. Barcelona">FC. Barcelona</option>
<option value="Real Madrid">Real Madrid</option>
<option value="Atlético Madrid">Atlético Madrid</option>
<option value="Real Sociedad">Real Sociedad</option>
</select>
</form>

<script type="text/javascript">
$(document).ready(function(){
$("#combo").change(function(){
var op = $("#combo option:selected").val();
$('#capa').html(op);
});
});
</script>
  #6 (permalink)  
Antiguo 30/03/2015, 13:16
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: detectar cambio en combobox sin evento onchange

Lo que muestras es la aplicación del método change (el cual internamente funciona con el evento onchange) en un <select>, lo que no me queda claro es por qué pretendes no usar ese evento si es el que se ejecuta cuando se selecciona una opción distinta.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 30/03/2015, 13:48
 
Fecha de Ingreso: julio-2014
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: detectar cambio en combobox sin evento onchange

Alexis88 necesito exactamente lo mismo que hace esa función, osea que el "onchange" no vaya en el

"<select id="combo"onchange="funcion()">"

Si no que vaya en el javascript como hace JQUERY.

No se si me estoy explicando mal. Detallo, aunque es complicado y largo de contar, trato de resumir:

Lo que sucede es que los combobox no son HTML plano, si no que se generan dinamicamente de una base de datos en un datagrid y solo cuando un campo esta relacionado con otro de otra tabla, osea cuando se dan unas condiciones específicas se monta el combobox, cargando los valores del campo de la tabla relacionado en el combo a modo de lista desplegable.

Necesito en un caso particular que se llame a la función que genera el combobox y que imprima una función javascript exclusivamente para esa situación y que detecte si hay un cambio en la lista.

Osea, lo mismo que hace el JQUERY, que identifique al objeto combobox y cuando hay un "onchange" capture el valor de la lista.

Gracias por la paciencia!!
  #8 (permalink)  
Antiguo 30/03/2015, 14:02
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: detectar cambio en combobox sin evento onchange

Con código JavaScript nativo, puedes hacerlo así:

Código Javascript:
Ver original
  1. document.querySelector("#id del elemento").addEventListener("change", function(){
  2.     //Las instrucciones que desees ejecutar
  3. }, false);

Asegúrate de colocar esto después de todos los elementos del documento y justo antes de la etiqueta </body> para que surta efecto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 30/03/2015, 14:22
 
Fecha de Ingreso: julio-2014
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: detectar cambio en combobox sin evento onchange

Alexix, justo eso es lo que necesito,

¿Como hago para hacer un alert del valor seleccionado en el combobox?

GRACIAS POR TU AYUDA!!
  #10 (permalink)  
Antiguo 30/03/2015, 14:37
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: detectar cambio en combobox sin evento onchange

Lo único que tendrías que añadir dentro de la función es un alert(this.value). Eso es todo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 30/03/2015, 14:38
 
Fecha de Ingreso: julio-2014
Mensajes: 18
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: detectar cambio en combobox sin evento onchange

Gracias de nuevo!!
  #12 (permalink)  
Antiguo 30/03/2015, 14:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: detectar cambio en combobox sin evento onchange

Te dejo estos enlaces, para que leas más sobre los métodos y propiedades que utilicé y así tengas una referencia para el futuro:

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: combobox, evento, onchange, 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 18:25.