我开始制作一个代码来自动填充字段,当我点击一个我已经在旧请求中使用的值时,所以我这样做了:从 javascript 代码中的循环中获取值:{% for x in request.session.query_x reversed %}var x_point = "{{x}}"{% endfor %}function autoFill() { document.getElementById('input1').value = x_point;}该列表是从循环创建的,我想一次单击每个值以填充字段(html) - 我得到了列表,并且在此部分中一切正常: {% for x in request.session.query_x reversed %} X: <a href="#" onClick="autoFill();">{{x}}</a><br> {% endfor %}将接收值的字段:<div class="form-group floating-label-form-group controls mb-0 pb-2"><label>X</label><input class="form-control" type="text" id="input1" required="" placeholder="X"<br>关键是,我单击的循环中的任何值都从循环中获取了第一个值,而不是从位置获得的正确值。我在这里错过了什么?
1 回答

繁花不似锦
TA贡献1851条经验 获得超4个赞
您将在每次迭代中覆盖值:x_point
{% for x in request.session.query_x reversed %}
var x_point = "{{x}}"
{% endfor %}
将事件作为参数发送,以便您可以避免链接默认行为并获取内部文本:
{% for x in request.session.query_x reversed %}
X: <a href="#" onClick="autoFill(event);">{{x}}</a><br>
{% endfor %}
function autoFill(e) {
// Avoid default link behaviour (scroll to #)
e.preventDefault();
// Assign link text
document.getElementById('input1').value = e.target.innerText;
}
添加回答
举报
0/150
提交
取消