首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在JavaScript中将表行值输入文本字段..?

如何在JavaScript中将表行值输入文本字段..?
EN

Stack Overflow用户
提问于 2021-03-11 22:54:45
回答 1查看 2K关注 0票数 0

我用这段代码创建一个表,

代码语言:javascript
运行
复制
 <table class="table table-green table-hover" id="tblk"></table>

当我将数据添加到表中时,我使用这个JavaScrip函数(用于按钮)来添加行,

代码语言:javascript
运行
复制
function addRow() {
  var custid = document.getElementById('InputCusomerID').value
  var custname = document.getElementById('InputCusomerName').value
  var itemid = document.getElementById('InputItemID').value
  var table = document.getElementById('tblk')
  var row = table.insertRow(0)
  var cell1 = row.insertCell(0)
  var cell2 = row.insertCell(1)
  var cell3 = row.insertCell(2)
  cell1.innerHTML = custid
  cell2.innerHTML = custname
  cell3.innerHTML = itemid
}

单击表行时,需要将表行值输入到输入文本字段中

--这是我的JavaScrip函数,它使表行值进入我的文本字段..,

代码语言:javascript
运行
复制
var table = document.getElementById('tblk'),
  rIndex
for (var i = 1; i < table.rows.length; i++) {
  table.rows[i].onclick = function () {
    document.getElementById('InputCusomerID').value = this.cells[0].innerHTML
    document.getElementById('InputCusomerName').value = this.cells[1].innerHTML
    document.getElementById('InputItemID').value = this.cells[2].innerHTML
}
}

,但我的代码不起作用,我无法将表行值输入我的文本字段。你能帮我解决这个问题吗..?非常感谢.!

代码语言:javascript
运行
复制
function addRow() {
  var custid = document.getElementById('InputCusomerID').value
  var custname = document.getElementById('InputCusomerName').value
  var itemid = document.getElementById('InputItemID').value
  var table = document.getElementById('tblk')
  var row = table.insertRow(0)
  var cell1 = row.insertCell(0)
  var cell2 = row.insertCell(1)
  var cell3 = row.insertCell(2)
  cell1.innerHTML = custid
  cell2.innerHTML = custname
  cell3.innerHTML = itemid
}

var table = document.getElementById('tblk'),
  rIndex
for (var i = 1; i < table.rows.length; i++) {
  table.rows[i].onclick = function() {
    document.getElementById('InputCusomerID').value = this.cells[0].innerHTML
    document.getElementById('InputCusomerName').value = this.cells[1].innerHTML
    document.getElementById('InputItemID').value = this.cells[2].innerHTML
  }
}
代码语言:javascript
运行
复制
<table class="table table-green table-hover" id="tblk"></table>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-11 23:21:53

我不知道您到底想做什么,但是它不起作用,因为在填充表之前会调用单击侦听器。看看我的密码。

代码语言:javascript
运行
复制
function addRow() {
  var custid = document.getElementById('InputCusomerID').value
  var custname = document.getElementById('InputCusomerName').value
  var itemid = document.getElementById('InputItemID').value
  var table = document.getElementById('tblk')
  var row = table.insertRow(0)
  var cell1 = row.insertCell(0)
  var cell2 = row.insertCell(1)
  var cell3 = row.insertCell(2)
  cell1.innerHTML = custid
  cell2.innerHTML = custname
  cell3.innerHTML = itemid
  
  setListeners();
}

var table = document.getElementById('tblk'),
  rIndex;
  
function setListeners() {
  for (var i = 0; i < table.rows.length; i++) {
  table.rows[i].addEventListener('click', function (e) {
    console.log(e.target);
    document.getElementById('InputCusomerID').value = "result: " + this.cells[0].innerHTML
    document.getElementById('InputCusomerName').value = "result: " + this.cells[1].innerHTML
    document.getElementById('InputItemID').value = "result: " + this.cells[2].innerHTML
  });
}
}


addRow();
代码语言:javascript
运行
复制
<input type="text" id="InputCusomerID" value="a" />
<input type="text" id="InputCusomerName" value="b" />
<input type="text" id="InputItemID" value="c" />

<table class="table table-green table-hover" id="tblk"></table>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66591751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档