Связанные select2 from to

108
13 декабря 2020, 06:40

Есть 2 связанных списка select со значениями от и до, реализованные с помощью select2:

if($('.select').length){ 
  $('.select').select2({ 
    tags: true, 
    placeholder: function(){ 
      if($(this).data('placeholder')){ 
        $(this).data('placeholder'); 
      } 
    } 
  }); 
   
   
  $('.select-from').change(function(){ 
    var selecteId = $(this).select2('val');  
     
    var x = parseInt(selecteId)+1; 
     
    console.log(x); 
     
    $('.select-to').select2('val', '' +x ); 
     
    for(var i = 0; i <= selecteId; i++){ 
      $('.select-to').find('option:nth-of-type('+i+')').prop("disabled", true); 
      $('.select-to').select2(); 
    } 
  }); 
}
<script src="https://code.jquery.com/jquery-2.2.4.js"></script> 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" /> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script> 
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" > 
   
  <div class="container"> 
    <div class="filter-col filter-col_room"> 
      <span class="filter-text d-block mb-4"> 
        Кол-во спален 
      </span> 
 
      <div class="d-flex align-items-center"> 
        <span class="filter-col__label mr-2"> 
          от 
        </span> 
        <select name="catalog-filter-from" class="select select-from" id="count-room-from"> 
          <option value="1">1</option> 
          <option value="2">2</option> 
          <option value="3">3</option> 
          <option value="4">4</option> 
          <option value="5">5</option> 
        </select> 
        <span class="filter-col__label ml-4 mr-2"> 
          до 
        </span> 
        <select name="catalog-filter-to" class="select select-to" id="count-room-to"> 
          <option value="1">1</option> 
          <option value="2">2</option> 
          <option value="3">3</option> 
          <option value="4">4</option> 
          <option value="5">5</option> 
        </select> 
      </div> 
    </div> 
  </div>

Сейчас все работает, но только 1 раз. Т.е. при повторном задании числа from во втором списке так и остаются старые значения - disabled!

Вопрос: Как связать данные списки так, чтобы во втором списке нельзя было задать значение меньше чем в первом?

Answer 1
$('.select-from').change(function(){
 $('.select-to option').prop("disabled", false); // <--
 ...
READ ALSO
функция не передается в $(window).resize()

функция не передается в $(window).resize()

Подскажите что я делаю неправильно и в чем моя ошибка

127
CSS оформление хлебных крошек

CSS оформление хлебных крошек

Как можно сделать такую навигационную панель? ширина может увеличиваться смотря от названия категории

115
Обращение к ячейке таблицы. Селекторы по атрибутам colspan и rowspan

Обращение к ячейке таблицы. Селекторы по атрибутам colspan и rowspan

Все приветИнтересует такой вопрос, он наверное более академический:)Можно ли обратится к группе ячеек з разными атрибутами colspan, без добавление...

116
Проблемы c получением всего набора тегов при парсинге сайта

Проблемы c получением всего набора тегов при парсинге сайта

В учебных целях пытаюсь парсить сайт автообъявлений https://abonliner

100