如何在jQuery/JavaScript中单击获得行id?

如何在jQuery/JavaScript中单击获得行id?,javascript,php,jquery,datatable,datatables,Javascript,Php,Jquery,Datatable,Datatables,我有一个充满动态数据的表。最后一列有一个按钮,单击该按钮时,我希望将行id传递给JS函数。 我需要id,因为我正在执行一个POST Ajax请求,如果成功,我希望获取响应数据并用新数据更新所选行 这是插入新行时要执行的操作: var rowNode = myTable.row.add([1,2,3,4,5,6,7,8]).draw(); 但是,如何获取行ID并用响应数据更新它呢 编辑。数据表: <table id="myTable" class="displ

我有一个充满动态数据的表。最后一列有一个按钮,单击该按钮时,我希望将行id传递给JS函数。 我需要id,因为我正在执行一个POST Ajax请求,如果成功,我希望获取响应数据并用新数据更新所选行

这是插入新行时要执行的操作:

var rowNode = myTable.row.add([1,2,3,4,5,6,7,8]).draw();
但是,如何获取行ID并用响应数据更新它呢

编辑。数据表:

<table id="myTable" class="display compact" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Reg</th>  
                <th>Edit</th>                   
            </tr>
        </thead>
        <tbody>
            <?php foreach (get_all_customers_list() as $user) { ?>
                    <tr>
                        <td>
                            <b> <?php echo $user["recipient_name"]; ?></b>
                        </td>
                        <td>
                            <?php echo $user["registration_date"]; ?>
                        </td>                       
                        <td>
                            <button type="button" id="button_edit" onclick='edit_customer_request(<?php echo json_encode($user); ?>)' value="<?php echo $user; ?>" name="edit_customer">Editt</button>                             
                        </td>
                    </tr>
            <?php }?>
        </tbody>
 </table>

名称
规则
编辑

因为您只想获取单击的
行编辑按钮的
行id
。您只需使用
table.row
函数并传递单击按钮的实际
tr

演示(显示存储为名称的
实际id
(1,2)

var-table=$('#myTable')。数据表({})
//在此处编辑客户
功能编辑客户请求(此){
//获取实际的表ID
var row=$(_this).parents('tr')[0];
//数据表行id
console.log(table.row(row.data()[0]);
}

名称
规则
编辑
1.
老虎的废话
编辑
tr>
2.
废话尼克松
编辑

这是我的简单答案:


var table = $('#table-values');

$('#table-values').on( 'click', 'tr', function(){
    var id = this.id;

    alert( 'Clicked row id '+id );
  });


简单。:)

请为您的数据表添加一个最小的可复制示例。@Alwayshelving就是这样。我真的不知道还需要添加什么,因为这不像是一个bug,我不知道为什么代码会有不同的行为,但我甚至不知道如何处理它。你的新id出现在哪里?它在按钮里吗?为了澄清您是否希望获取单击所在行的
id
?@Alwayshelving是的,我基本上希望获得所选行的id(使用按钮,我不单击行)并将其传递给函数。我需要行ID,以便我知道以后更新哪一行,@AlwayShelving知道怎么做吗?谢谢,它可以工作!我怎样才能真正更新那一行?@B.S.很高兴听到这个消息。对于更新,如果ajax成功,我将重新修复。您需要删除该行并使用
行。使用
索引添加
-还需要动态添加
编辑按钮
。@B.S.您也可以更新该行。对但是您需要使用jQuery
.append
.html
函数。理想情况下,如果一个数据是动态添加的,那么我将删除该行并添加带有该数据的新行。有趣!我不知道我实际上可以使用
.html
,它用新数据重置元素。但是,最困难的部分是使用您先前发布的
rowindex
对特定行执行.html()。@B.S.当然。您需要像这样传递该特定行的索引,其中包含有关ajax成功的新数据<代码>表.row(rowindex).data(newData.draw()