只是试图在这里收起一些松散的赔率。我有以下代码:
$(function(){
// start a counter for new row IDs
// by setting it to the number
// of existing rows
var newRowNum = 2;
var quantity = 1;
// bind a click event to the "Add" link
$("a").bind("click", function() {
// increment the counter
newRowNum += 1;
// get the entire "Add" row --
// "this" refers to the clicked element
// and "parent" moves the selection up
// to the parent node in the DOM
var addRow = $(this).parent().parent();
// copy the entire row from the DOM
// with "clone"
var newRow = addRow.clone();
// set the values of the inputs
// in the "Add" row to empty strings
//$('input', addRow).val('');
//$('name', addRow).val('os' + newRowNum);
// replace the HTML for the "Add" link
// with the new row number
$('td:first-child', newRow).html('<input type="hidden" name="on' + newRowNum + '" value="Recipient Address ' + (newRowNum - 1) + '">Recipient');
// insert a remove link in the last cell
$('td:last-child', newRow).html('<a href="" class="remove">Remove<\/a>');
// loop through the inputs in the new row
// and update the ID and name attributes
$('input:hidden', newRow).attr('id','on' + newRowNum ).attr('name','on' + newRowNum );
$('textarea', newRow).attr('id','os' + newRowNum ).attr('name','os' + newRowNum );
// insert the new row into the table
// "before" the Add row
addRow.before(newRow);
document.tp01.quantity.value = newRowNum-1;
quantity += 1;
// add the remove function to the new row
$('a.remove', newRow).click(function(){
$(this).parent().parent().remove();
document.tp01.quantity.value = quantity-1;
return false;
});
// prevent the default click
return false;
});
});
我要做的是在这里使用条件块来测试数量是否为6,如果是,则不允许用户添加新行(电子邮件收件人)。我尝试过以下方法:
if(quantity < 7) {
addRow.before(newRow);
};
测试数量是否小于7(最多6个),然后才允许他们添加新行。这不起作用。
我也尝试过:if(quantity < 6) {
quantity += 1;
};
测试数量是否小于6,如果是,则在值中加1。否则没什么。这不起作用。
基本上,我需要做的是,每当有人添加一行时,我需要增加数量(它现在正确地执行)但不允许它们添加超过6行(它没有正确执行) 。
一如既往,感谢您的帮助。
戴夫
答案 0 :(得分:0)
尝试从文档中提取数量。已经。
var quantity = 0;
$(function()...
我的猜测是,当你回到事件处理程序时,数量变量不再在范围内。