当我点击按钮时,如何获得表中行的值

时间:2018-04-25 15:02:55

标签: javascript jquery

我有一个表,有无数行,当我点击按钮时,我需要获得点击该按钮的行ID。我怎样才能做到这一点? 我的尝试代码:

function teste(){
$('table tr').each(function(){
    var name = $(this).parent().find('.idServico').html();
    alert(name);
});

}

我的js生成的表格:

tabelaResultado.innerHTML += `
    <tr>
        <td class="idServico">${idServico}</td>
        <td>${dataEntradaServico}</td>
        <td>${dataSaidaServico}</td>
        <td>${cpfPessoa}</td>
        <td>${idStatus}</td>
        <td>${descricaoServico}</td>
        <td class="actions tirarCor">
            <a class="btn btn-success btn-xs" href="/updateService">Visualizar</a>
            <a class="btn btn-warning btn-xs" href="/updateService">Editar</a>
            <button id="botaoExcluir" class="btn btn-danger btn-xs" onclick="teste()"data-toggle="modal" data-target="#delete-modal">Excluir</button>
        </td>
    </tr>

1 个答案:

答案 0 :(得分:0)

从按钮中删除内联事件处理程序,并使用jQuery设置事件侦听器。然后,您可以使用$(this)来引用被点击的按钮,.closest()向上遍历到父<tr>,然后.find()来获取<td>idServico

$('button.btn.btn-danger.btn-xs').click(function(){
    var name = $(this).closest('tr').find('td.idServico').html();
    alert(name);
})

如果动态添加行,则应使用委托事件处理程序:

$(document).on('click' ,'button.btn.btn-danger.btn-xs' ,function(){
    var name = $(this).closest('tr').find('td.idServico').html();
    alert(name);
})