Django. Более эффективный метод скрытия полей в шаблоне?

Всем привет! Сейчас поля в форме поиска скрываются с помощью такого условия:
$('#category_id').change(function () {
        var optionSelected = $("option:selected", this);
        var valueSelected = $(this).val();

        if (valueSelected === '1') {
          $('#rooms_id').hide();
          $('#series_id').hide();            
        } else if (valueSelected === '2') {
          $('#rooms_id').hide();
          $('#series_id').hide();
        } else {
          $('#rooms_id').show();
          $('#series_id').show();
        }

Вот категории, выбирая которые скрываются ненужные поля:
<div class="col-md-3 mb-3">       
                <label class="sr-only">Категории</label>
                <select name="category" class="form-control" id="category_id">
                  <option selected="true" disabled="disabled">Категории</option>
                  {% for category in categories %}
                    <option value="{{ category.pk }}">{{ category.name }}</option>
                  {% endfor %}
                </select>
              </div>

Но, мне кажется, это неполноценное решение задачи, т.к., категории добавляются в шаблон динамически с БД, и, если их случайно удалить в БД, а потом добавить не в той последовательности, как сейчас описаны селекты в условии скрипта, то ничего работать не будет. У меня уже так было, пришлось добавлять именно так, чтобы снова всё работало, либо подгонять условие, изменяя селекты, либо добавлять в БД в той же полдедовательности, как и было. Кто знает, более изящное решение, подскажите, пожалуйста.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы