Вы не можете выбрать отключенную опцию, поэтому значение (независимо от того, что вы установили как) всегда будет возвращать null
.Это предполагаемое поведение.
Хотя в документах не указано, какие параметры отключены, оно говорит:
, если никакие параметры не выбраны, но возвращает пустой массив;до jQuery 3.0 возвращается null
Этого также можно ожидать от отключенных опций.Вы все еще можете проверить это!
Мы можем проверить, возвращает ли значение null
, используя оператор if.Следующий оператор if вернет true, если значение не null
if ($('select[name="town"]').val() != null) {
console.log('Option selected.');
}
Если вы хотите проверить другие параметры, вы можете заменить != null
на == value
.По сути, вы можете использовать это как кратное выражение if, else if, else.
В качестве альтернативы вы можете получить значение отключенного выбранного параметра следующим образом:
$('select[name="town"] option[disabled]:selected').val();
Благодаря этому ТАК ответ .