猿问

使用django和javascript单击自动填充字段

我开始制作一个代码来自动填充字段,当我点击一个我已经在旧请求中使用的值时,所以我这样做了:


从 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>

关键是,我单击的循环中的任何值都从循环中获取了第一个值,而不是从位置获得的正确值。我在这里错过了什么?


慕码人2483693
浏览 82回答 1
1回答

繁花不似锦

您将在每次迭代中覆盖值:x_point{% for x in request.session.query_x reversed %}&nbsp; &nbsp; var x_point = "{{x}}"{% endfor %}将事件作为参数发送,以便您可以避免链接默认行为并获取内部文本:{% for x in request.session.query_x reversed %}&nbsp; &nbsp; X: <a href="#" onClick="autoFill(event);">{{x}}</a><br>{% endfor %}function autoFill(e) {&nbsp; &nbsp; // Avoid default link behaviour (scroll to #)&nbsp; &nbsp; e.preventDefault();&nbsp; &nbsp; // Assign link text&nbsp; &nbsp; document.getElementById('input1').value = e.target.innerText;}
随时随地看视频慕课网APP

相关分类

Python
我要回答