Я пытаюсь использовать jquery, чтобы перебрать результаты скляшки sqlalchemy query.all (), которые я передаю шаблону в качестве параметра. У меня есть схема БД как:
таблица клиентов: идентификатор, имя, телефон
Клиенты в дБ:
1 Смит 1111111111
2 Джонс 2222222222
3 Эдвардс 3333333333
Вид колбы:
@auth.route('/orders/add', methods=['GET', 'POST'])
@login_required
def order_add():
custs = Customer.query.all()
return render_template('auth/orders/order_add.html', custs=custs, form=form)
HTML-код:
<div class="form-group col-xs-12">
<label class="control-label" for="cust_name">Company Name</label>
<input class="form-control" id="cust_name" name="cust_name" type="text" list="customers" />
<datalist id="customers">
</datalist>
</div>
код запроса:
$('#cust_name').keyup(function() {
var cust = "{{ custs }}"
if ($(this).val() != '') {
cust.each(function(i, name, pn) {
alert(name);
alert(pn);
});
}
});
Я не могу понять, как перебирать эти результаты, как FOR ... EACH делал в старом шаблонном коде:
<datalist id="customers">
{% FOR cust IN custs %}
<option>{{ cust.name }}</option>
{% ENDFOR %}
</datalist>
Я пробовал:
alert(cust.name); - didn't work
alert(cust[0]); - didn't work
alert({{ custs.name }}); - didn't work
alert("{{ cust.name }}"); - didn't work
даже пробовал:
$('#comp_name').keyup(function() {
var comp = '{{ comps }}';
if ($(this).val() != '') {
alert(comp.length);
}
});
Оповещение показывает 80, я все еще не могу понять это!
Если вам интересно, какова моя конечная цель, как только я получу этот код, я создаю фрагмент документа и добавляю cust.name в список выбора данных, используя только jquery!