@eldar_web

Как в jQuery управлять option-ами select-a?

Есть select с option-aми, где value у них с 1 до 3.
Мне нужно, чтобы при каком-то событии (в примере, при нажатии) заблокировать option-ы, у кого
value < 3. То есть, в примере первый и второй option-ы должны заблокироваться. Как это сделать в этом примере codepen.io/anon/pen/vOMEvg?
  • Вопрос задан
  • 718 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 3
Slavenin999
@Slavenin999
программист php/erlang/elixir/js
разве что циклом по options:

$('select option').each(function(){
    if(this.value < 3)
   {
        $(this).attr('disabled', 'disabled');
   }
});
Ответ написан
drugoi
@drugoi
Front-end Developer
Можно чуть проще (надо будет дописать логику, чтобы отключались все селекты, что меньше текущего):
$('button').on('click', function() {
  var $select = $('select');
  var selectedVal = parseFloat($select.val());
  if (selectedVal === 3) {
    $select.find('option').not('[value="' + selectedVal + '"]').attr('disabled', 'disabled');
  }
});
Ответ написан
@chirsss
Заблокировать конкретный option
$("#select option[value='1']").prop("disabled", true);

Заблокировать option у которых value < 3
$('#select option').filter(function() {
  return this.value < 3;
}).prop("disabled", true);

Примеры взяты здесь
Ответ написан
Ваш ответ на вопрос

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

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