¿Cómo get $ (esta) opción seleccionada en jQuery?

El siguiente código funciona:

$("#select-id").change(function(){ var cur_value = $('#select-id option:selected').text(); . . . }); 

Cómo refactorizar la segunda línea a:

 var cur_value = $(this).***option-selected***.text(); 

¿Qué usas para ***option-selected*** ?

8 Solutions collect form web for “¿Cómo get $ (esta) opción seleccionada en jQuery?”

Para el valor seleccionado: $(this).val()

Si necesita el elemento de opción seleccionado, $("option:selected", this)

  $(this).find('option:selected').text(); 

La mejor y más breve forma en mi opinión para onchange events en el menu desplegable para get la opción seleccionada:

 $('option:selected',this); 

para get el atributo de valor:

 $('option:selected',this).attr('value'); 

para get la parte mostrada entre las tags:

 $('option:selected',this).text(); 

En tu muestra:

 $("#select-id").change(function(){ var cur_value = $('option:selected',this).text(); }); 
 var cur_value = $('option:selected',this).text(); 

Puede usar find para search la opción seleccionada que es un descendiente de los nodos apuntados por el object jQuery actual:

 var cur_value = $(this).find('option:selected').text(); 

Dado que es probable que sea un niño inmediato, en realidad sugeriría usar .children :

 var cur_value = $(this).children('option:selected').text(); 

Esto debería funcionar:

 $(this).find('option:selected').text(); 
 var cur_value = $(this).find('option:selected').text(); 

Como es probable que la option sea ​​hija inmediata de select , también puede usar:

 var cur_value = $(this).children('option:selected').text(); 

http://api.jquery.com/find/

Mejor conjetura:

 var cur_value = $('#select-id').children('option:selected').text(); 

Me gustan más los niños en este caso porque sabes que solo vas a ir por una twig del tree DOM …

  • ¿Cómo se implementa un button de código para formatear text en un área de text?
  • Cómo cambiar el valor de una checkbox enHaga clic en usar JQuery?
  • Ordenando una matriz de dates de cadena
  • El complemento JQuery History.js no reemplaza el estado de una página en los browseres HTML4 y HTML5
  • jQuery cambiar el atributo css lentamente
  • Calcular una altura de iframe de browser cruzado
  • Click () funciona en IE pero no en Firefox
  • Las tags HTML AJAX NO se muestran como tags HTML, sino como text normal en validation
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.