У меня есть следующий код, который выполняется при изменении для окна выбора:
$('#reg-phone-type').change( function() {
console.dir($(this));
console.log("$(this).val():" + $(this).val());
if( $(this).val == 'work' ) {
//do one thing
} else {
//do something else
}
});
Когда я распечатываю console.dir ($ (this));
Я вижу, что выбранный параметр установлен (на моем примере экрана) для «работы» (ярлык является правильным, но фактический значение опции ниже, поэтому я знаю, что я не имею дело с проблемой).

Вот HTML из Firebug после изменения поля выбора (по умолчанию «home»):

Таким образом, вы можете видеть, что опция выбрана правильно. Почему тогда, когда в моем jquery, только в одной строке позже, я вызываю console.log ("$ (this) .val ():" + $ (this) .val ());
, я получаю «дом» вместо «работы»? Я понял, что .val()
возвращает значение выбранной опции в поле выбора, поэтому мне нужно «работать».
