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

  1. @app.route('/add_reparacion', methods=['GET', 'POST'])
  2. def add_reparacion():
  3.  
  4.         if request.method == 'POST':
  5.  
  6.             fecha = request.form['fecha']
  7.  
  8.             cliente = request.form['cliente']
  9.  
  10.             print(fecha)
  11.  
  12.             print(cliente)
  13.             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
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)