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

标签 javascript python

我开始编写代码,当我单击旧请求中已使用的值时自动填充字段,因此我这样做了:

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

重点是,我单击循环中的任何值时,我都会从循环中获得第一个值,而不是从该位置获得正确的值。我在这里缺少什么?

最佳答案

您将在每次迭代中覆盖 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;
}

关于javascript - 使用 django 和 javascript 点击自动填充字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60267714/

相关文章:

javascript - 无法在数组中循环 jQuery 对话框

javascript - 使用 reveal.js,如何在完成嵌入式媒体后更改幻灯片?

python - Linux下如何用Python创建master进程?

python - 在一行中的一行 pandas DataFrame 中分配多个列值

python - 预测泰坦尼克号数据集中年龄的 Nan 值

javascript - 我无法使用 JSON.stringify() 将 JSONArray 转换为 JavaScript 中的字符串

javascript - If 和 Return 语句的问题

python - Pandas - 尝试使用计数和平均值制作新的数据框

python - Django 管理员 : Prefetch choices in list_editable

Javascript WebSocket 到 Firebase?