Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
datalist
#1
Hola, tengo un datalist donde cargo el ID del cliente (dato.0) y el nombre del cliente (dato.1)
El problema es que quiero que me devuelva el ID, y sólo me devuelve el nombre del cliente.
Lo que si, necesito que en el imput me muestre el nombre del cliente, y que me devuelva el ID.
Les paso los 2 códigos, el del archivo HTML y el Python.


Código del HTML

Código:
<div class="form-group row">
    <label for="cliente" class="col-sm-2 col-form-label-sm">Cliente</label>

    <div class="col-sm-10">

        <input class="form-control form-control-sm" name="cliente" list="listClientes" id="cliente" placeholder="Cliente...">

        <datalist id="listClientes">

            {% for dato in dCliente %}

            <option id="{{dato.0}}" value="{{dato.1}}" >

            {% endfor %}

        </datalist>

    </div>
</div>

Código en Python

Código:
@app.route('/add_reparacion', methods=['GET', 'POST'])
def add_reparacion():

        if request.method == 'POST':

            fecha = request.form['fecha']

            cliente = request.form['cliente']

            print(fecha)

            print(cliente)
            return redirect(url_for('reparaciones'))
Responder
#2
Hola, bienvenido.

El problema es que la etiqueta <datalist> de HTML no soporta ningún atributo "id". Podrías usar <select>, que sí soporta un "value" (que sería tu ID) y un texto.

Código:
<select id="listClientes">
        {% for dato in dCliente %}
            <option value="{{dato.0}}">{{dato.1}}</option>
        {% endfor %}
</select>

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)