Как сделать множественный выбор флажка с помощью ajax и без кнопки отправки

Python 3.9 Django 3.2 У меня есть категории и товары, и через простую форму в шаблоне я выбираю 1 или 2-3 чекбокса и получаю результат. Как теперь это сделать через ajax и без кнопки 'submit'.

Я выбираю несколько категорий товаров и каждое нажатие на чекбокс является ajax и следующее нажатие на чекбокс добавляет параметр к запросу.

это похоже на то, как вы выбираете несколько параметров в интернет-магазинах. Вы выбрали 2 параметра и получили отфильтрованный список товаров

Предполагаю, что нужно перехватить отправку, сохранить один запрос в кэше и добавить к этому запросу новый

              <form  method="post" id="category-box">
                {% csrf_token %}
                <div class="form-check">
                  <input class="form-check-input" type="checkbox" name='category' value="{{c.name}}" >
                  <label class="form-check-label" for="{{c.name}}"><a href="{{ c.get_absolute_url }}">{{ c.name }}</a></label>
                </div>
                {% endfor %}
                <button type="submit">Submit</button>
              </form>

Вы можете иметь onChange на элементе form, который срабатывает при изменении любого ввода в форме. Когда форма изменяется, вы отправляете AJAX запрос с обновленными параметрами и загружаете новые данные.

Однако это может навредить производительности, так как нажатие нескольких флажков за короткий промежуток времени будет вызывать запрос на каждое нажатие, что не нужно. Это можно решить с помощью небольшой задержки перед отправкой запроса и проверки, не изменилась ли форма впоследствии.

Вернуться на верх