如何防止表两次提醒相同的记录?

时间:2014-05-13 08:35:33

标签: javascript jquery

我有一个用JavaScript创建的表。在按钮上单击它应该带来该行的行ID,但是当单击该按钮时,行ID会被警告两次。

这是我的JavaScript代码:

newContent += Hesto.Html.CreateTD('<button type="button" value="Print" class="btnprint" onclick="test(this)">', null);

function test() {
    $("button").click(function () {
        var row  = $(this).parents('tr').attr('id');
        var rowtext = $(this).closest('tr').text();
        alert(row);
    });
}

3 个答案:

答案 0 :(得分:2)

它不止一次警告的原因是你多次委托同一个事件,使用这样的事件委托并删除元素上的onclick="test(this)"

$(document).on('click','.btnprint',function(){
 var row  = $(this).parents('tr').attr('id');
 var rowtext = $(this).closest('tr').text();
 alert(row);
});

答案 1 :(得分:0)

在你的情况下你可以按两次按钮1)onclick =“test(this)”,2)按钮点击

 function test() {                   
                    var row  = $(this).parents('tr').attr('id');
                    var rowtext = $(this).closest('tr').text();
                    alert(row);
                 }

其他明智的你可以使用委托.. @Anton发布方法

$(document).on('click','.btnprint',function(){
 var row  = $(this).parents('tr').attr('id');
 var rowtext = $(this).closest('tr').text();
 alert(row);
});

答案 2 :(得分:-1)

function test() {
    $(document).on('click', '.btnprint', function () {
        var row = $(this).parents('tr').attr('id');
        var rowtext = $(this).closest('tr').text();
        alert(rowtext);
    });
}