He incluido un código dado

$('#order_bill_address_attributes_country_id').change(function(){
    var countryValue = $(this).val();
    alert(countryValue) #"28"
    var country = $('option[value= countryValue]').text();
    alert(country)

})

Cuando hago esto le da al país nada pero cuando lo hago

$('#order_bill_address_attributes_country_id option[value="28"]').text();

Me da o / p "Jordan". Pero por qué no está dando en mi función de cambio anterior. Por favor guía, estoy haciendo un error sintáctico.

0
Dinshaw Raje 10 dic. 2015 a las 10:03

3 respuestas

La mejor respuesta

Debe usar el selector :selected

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

O, si aún desea usar la variable, pásela entre comillas

var country = $(this).find('option[value="' + countryValue + '"]').text();
1
Satpal 10 dic. 2015 a las 07:05

Esto es trabajo para ti.

$('#order_bill_address_attributes_country_id').change(function(){
    var countryValue = $(this).val();
    alert(countryValue) #"28"
    var country = $("option[value='"+countryValue+"']").text();
    alert(country)

})
0
Ankit Kathiriya 10 dic. 2015 a las 07:06

Prueba esto:

var country = $('option[value= "'+countryValue+"']').text();
0
Martin Evans 10 dic. 2015 a las 07:43