Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取按钮中第一个单元格的值单击第三个单元格_Javascript_Html_Asp.net - Fatal编程技术网

Javascript 获取按钮中第一个单元格的值单击第三个单元格

Javascript 获取按钮中第一个单元格的值单击第三个单元格,javascript,html,asp.net,Javascript,Html,Asp.net,我在.aspx文件中有以下代码段: <table id="myTable" class="table table-striped"> <tr> <th>Id</th> <th>Nome</th> <th>Ops</th> </tr> <td>test</td> <td>tes

我在.aspx文件中有以下代码段:

<table id="myTable" class="table table-striped">
    <tr>
        <th>Id</th>
        <th>Nome</th>
        <th>Ops</th>
    </tr>
    <td>test</td>
    <td>test</td>
    <td>test</td>
</table>
<button id="buttonTest" onclick="updateTable()">Test Button</button>

身份证件
诺姆
老年退休金
测试
测试
测试
测试按钮
在附加到此文件的Javascript文件中,我有以下方法:

function updateTable(data) {
    parsedData = JSON.parse(data);
    // Find a <table> element with id="myTable":
    var table = document.getElementById("myTable");

    //Deletes all the rows
    deleteTableRows(table);

    //Inserts the new data
    for (i = 0; i < parsedData.length; i++) {
        var row = table.insertRow(table.rows.length);

        // Insert new cells (<td> elements) at the 1st and 2nd position of the "new" <tr> element:
        var cell1 = row.insertCell(0);
        var cell2 = row.insertCell(1);
        var cell3 = row.insertCell(2);

        // Add some text to the new cells:
        tAID = parsedData[i].TipoAtributoID;
        cell1.innerHTML = tAID;
        cell2.innerHTML = parsedData[i].Nome;
        cell3.innerHTML = '<button onclick="deleteTipoAtributo('+tAID+')" class="btn btn-danger"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button>';
        cell3.innerHTML += '<button onclick="deleteTipoAtributo('+tAID+')" class="btn btn-info"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></button>';
        }
}
函数更新表(数据){
parsedData=JSON.parse(数据);
//查找id为=“myTable”的元素:
var table=document.getElementById(“myTable”);
//删除所有行
删除表格行(表格);
//插入新数据
对于(i=0;i
如您所见,我正在通过
click
事件传递第一个单元格ID。对我来说,这似乎很粗略,但我找不到更好的方法。这里的最佳选项是什么,以便在
onclick
上调用的函数可以找出按钮所在行的第一个单元格的内容

更新表内容的方法将被多次调用,因此在html中硬编码按钮(我认为)是不可能的。
谢谢

如果保证按钮是
的直接子项,则可以通过以下方式检索行中的第一个单元格:

  • 转到按钮的父级
    此.parentNode
  • 转到
    的父节点
    td.parentNode
  • 获取
    的第一个子节点:
    tr.firstChild
  • 获取第一个单元格的html内容:
    td.innerHTML
  • 现在,您可以将onClick函数分配给
    onBtnClick
    ,而无需任何参数:

    <button onclick="onBtnClick" class="btn btn-info"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></button>
    
    
    
    此外,为了避免重复和通过HTML字符串设置单元格内容,您可以创建一个按钮DOM节点,并使用
    .appendChild()
    将其插入单元格

    <button onclick="onBtnClick" class="btn btn-info"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></button>