У меня есть таблица визуализации цикла (Flask / Jinja), и я хочу, чтобы можно было быстро редактировать одну из записей в столбце, поэтому я решил использовать попсовер bs4 для визуализации поля выбора (заполнено jinja)) внутри формы.
Так как не может быть хорошей идеей отображать одну скрытую форму на результат, я должен найти способ установить скрытое поле в этой форме, чтобы я знал, какую запись я редактирую. но я всегда получаю "1" ...
$(document).ready(function() {
$('[data-toggle="popover"]').popover({
container: 'body',
html: true,
placement: 'bottom',
sanitize: false,
content: function() {
let editar = $("#editicon").data("id")
console.log(editar);
$(".input-group input").val( editar );
return $('#PopoverContent').html()
}
})
});
HTML:
<td id="sts-estado"> {{ pedido.status }}
<i data-id={{pedido.id}} id="editicon" class="fa fa-pencil" aria-hidden="true" data-target="#PopoverContent" data-trigger="click" tabindex="0" data-toggle="popover"></i></td>
<td> {{ pedido.contact }}</td>
в конце html:
<div id="PopoverContent" class="d-none">
<form role="form" class="statuseditform" name="form1">
<div class="input-group">
<input type="hidden" name="editing" id="editing" value=""/>
<select name="status" onchange="javascript:this.form.submit()">
<option value="{{statuses[0][0]}}" selected="{{statuses[0][0]}}">{{statuses[0][1]}}</option>
{% for status in statuses[1:] %}
<option value="{{status[0]}}">{{status[1]}}</option>
{% endfor %}
</select>
<div class="input-group-append" id="button-addon1">
<button class="btn btn-outline-primary" type="button" data-toggle="popover" data-placement="bottom"
data-html="true" data-title="Search">
<i class="fas fa-search"></i>
</button>
</div>
</div>
</form>
</div>