Как достать значение селектора?

Добрый вечер.
Помогите решить проблему.
Хочу достать из селекта значение и на основе него присвоить другому блоку класс, но код не работает. В чем ошибка??
$(function(){
  $("select#occupancy_39311").change(function (){
     if ($("#coccupancy_39311 option:selected").val() == "1"){
         $("#price_39315").addClass("159");
     }
     else
     {
         $("#price_39315").removeClass("159");
     }
  });
})
  • Вопрос задан
  • 2690 просмотров
Решения вопроса 1
nowm
@nowm
$(function(){
  $("#occupancy_39311").change(function (){
     if ($(this).val() == "1"){
         $("#price_39315").addClass("p159");
     } else {
         $("#price_39315").removeClass("p159");
     }
  });
})


Суть в том, что «#coccupancy_39311 option:selected» — это неправильный подход (могу ошибаться, но буду настаивать). Значение нужно брать из «select». К дочернему «option:select» можно обращаться в том случае, если нужно получить текст этого пункта. Для простоты можно вообще использовать «this», так как внутри change «this» указывает на элемент, к которому применяется.

С другой стороны, возможно у вас опечатка: «#_c_occupancy_39311 option:selected»

Ну и название класса должно начинаться с буквы. «159» — не подойдёт.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@IgoNsk
backend web developer
Ошибка в том, что классы css не могут начинаться с цифр.

Используй название класса вида
"bla-159"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы