我有一个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");
}
});
答案 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/