You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript从元素列表取值填充表单字段?Django项目实操问题

解决方案

你不需要额外遍历DOM获取球员姓名,已经在按钮的data-player-name自定义属性中存储了当前球员的姓名,直接调用该属性即可,修改步骤如下:

步骤1:修改模板中的按钮点击事件,传入当前点击的按钮对象

把按钮的onclick属性修改为:

<button onclick="selectPlayer(this)" type="button" class="btn btn-success btn-sm m-0 waves-effect" data-player-name="{{ q.player_name }}" data-position="{{ q.position }}">Add</button>

注意:HTML中id属性必须全局唯一,你可以把循环生成的重复id qbname、qbackbutton都删掉,避免后续出现其他DOM选择异常

步骤2:修改JavaScript函数,从传入的按钮对象中提取球员名

function selectPlayer(clickedBtn) {
    // 直接从按钮的dataset中取出预存的球员姓名
    const playerName = clickedBtn.dataset.playerName;
    // 赋值给表单字段
    document.getElementById("QB_name").value = playerName;
}

备选方案(无data属性场景)

如果你不想用data属性,也可以通过DOM层级查找对应球员名,不受data属性是否存在的影响:

function selectPlayer(clickedBtn) {
    // 找到按钮所属的<tr>行元素
    const playerRow = clickedBtn.closest('tr');
    // 找到行内第一个td里的h6元素,获取文本内容
    const playerName = playerRow.querySelector('td:first-child h6').textContent.trim();
    document.getElementById("QB_name").value = playerName;
}

内容的提问来源于stack exchange,提问作者user14593966

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 20:06:00