Python 3.9 Django 3.2 Tengo categorías y productos, ya través de un formulario simple en la plantilla, elijo 1 o 2-3 casillas de verificación y obtengo el resultado. Cómo hacerlo ahora a través de ajax y sin el botón 'enviar'.
Selecciono varias categorías de productos y cada clic en la casilla de verificación es ajax y el siguiente clic en la casilla de verificación agrega el parámetro a la solicitud.
es similar a cómo selecciona varios parámetros en las tiendas en línea. Ha seleccionado 2 parámetros y ha recibido una lista filtrada de productos
Supongo que necesita interceptar el envío, almacenar una solicitud en el caché y agregar una nueva a esta solicitud
<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>Puede tener un onChange en el elemento de form que se activa cuando se cambia cualquier entrada dentro del formulario. Cuando el formulario cambia, envía una solicitud AJAX con parámetros actualizados y carga nuevos datos.
Sin embargo, esto podría ser perjudicial para el rendimiento, ya que al hacer clic en varias casillas de verificación en un corto período de tiempo se activaría una solicitud por cada clic que no es necesaria. Eso se puede manejar con un ligero retraso antes de enviar la solicitud y verificar si el formulario ha cambiado posteriormente.