Div上的Jquery显示警报只点击一次

时间:2014-06-23 19:19:10

标签: jquery html click

我有一个div" AddRow"然后单击该div我将使用Jquery向表中添加一行。 一旦我完成添加5行并进一步点击div它就显示警告"行超过"。如何一次又一次地单击div显示错误一次。

$('#AddRow').click(function () {
    //Check total rows 
    var maxNuber = 5;
    var rowCount = $('#tblTest tr').length;

    if (rowCount  < maxNuberOfFilters){
        AddRowToTable();
    }
    else{
        alert("Rows exceeded");
    }
});

3 个答案:

答案 0 :(得分:1)

试试这个:

var rowsExceeded = false;
$('#AddRow').click(function () {
    //Check total rows 
    var maxNuber = 5;
    var rowCount = $('#tblTest tr').length;

    if (rowCount  < maxNuberOfFilters){
        AddRowToTable();
    }
    else{
        if (!rowsExceeded) {
            alert("Rows exceeded");
            rowsExceeded = true;
        }
    }
});

我基本上只添加了一个布尔变量,如果超过一次行,则该变量变为true。从那时起,变量将始终为true,因此警报将永远不会执行。

此方法的好处是事件处理程序在超过最大行时不会解除绑定。

答案 1 :(得分:1)

有十几种方法可以完成这项工作但是关于你所做的事情,我可以建议:

$('#AddRow').click(function () {
    //Check total rows 
    var maxNumber = 5;
    var rowCount = $('#tblTest tr').length;

    if (rowCount  < maxNumber){
        AddRowToTable();
    }
    else if(rowCount == maxNumber){
        alert("Rows exceeded");
        rowCount ++;
    }
});

答案 2 :(得分:1)

这对你有用

var rowCount = 1;
$('#AddRow').on('click','', function() {

    if (rowCount  <= 5){
        rowCount++; //replace with your logic and conditions...
    }
    else{
        alert("Rows exceeded");
        $('#AddRow').off('click');
    }
});

工作示例 - http://jsfiddle.net/Hnuc7/