Pregunta

Un usuario tiene que seleccionar un tipo de vehículo, luego en función de su selección, entonces tiene opciones de seleccionar un modelo de vehículo, luego en función de esa selección, tendrá la opción de visualizar colores específicos disponibles para ese modelo.

Hay modelos DJANGO separados para cada uno de los vehículos, modelo y color, donde cada instancia de vehículo tiene muchos modelos (muchos a muchos campos) y cada modelo tiene colores (muchos a muchos campos).

¿Cómo creará una plantilla para que el usuario pueda hacer esto dinámicamente?No quiero ser redirigido a diferentes puntos de vista.Estoy pensando que necesitaría usar jQuery para que el usuario pueda seleccionar el vehículo de un cuadro desplegable, luego en función de su elección, aparece otro cuadro desplegable, etc.

¿Alguna idea?

¿Fue útil?

Solución

Mi enfoque sería usar AJAX para cambiar dinámicamente el contenido de los cuadros de selección. Hay muchas maneras de implementar esto. Aquí está uno ...

  • Crear 3 cuadros de selección (vehículo, modelo, color)
  • Pover el primero con todas las entradas en blanco más todos los vehículos
  • atrapa el evento ONCHANGE PARA EL VEHÍCULO Y MODELO Y CREA FUNCIONES DE JAVASCRIPT correspondientes.

    Aquí está el código sudo para la función Vehiclechange:

    • Borrar todos los modelos Seleccionar opciones
    • Borrar todas las opciones de selección de color
    • Fetch Model Seleccione Opciones de servidor usando AJAX
    • PoPulate Model Select Box.

      Aquí está el código sudo para la función Modechange:

      • Opciones de selección de color claro
      • Fetch Color Seleccione las opciones del servidor usando AJAX
      • Pover Color Select Box.

        Así que ahora lo que sucede es:

        • Debido a que está utilizando Ajax, su página no se actualizará ni redirrá.
        • Su modelo para "Modelo" y "Color" sigue siendo lo más simple posible
        • Su vista para "Modelo" y "Color" se vuelve muy pequeño. Una vista posible produciría algo como:

          rojo
          azul
          azul

          Para cambiar las opciones en los cuadros de selección, podría usar jquery para obtener el cuadro de selección y reemplazar el HTML con los resultados de la llamada AJAX.

Otros consejos

Podrías usar Dajax, una biblioteca AJAX para Django.En su sitio web, incluso tienen un ejemplo muy similar -> http://www.dajaxproject.com/forms/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top