我有以下 JS 函数,我已经使用了很长时间,几乎逐字复制了另一个 Stack Overflow 问题。我发现,随着我的需求发生变化,我需要从按钮调用此函数并将 count 的值作为参数传递,而不是在函数中跟踪它。
我尝试将其更改为“function addInventory(count)”并在其中移动 var 模板行,但是 Firebug 报告 var 库存行的“SyntaxError:缺少变量名”,我不知道出了什么问题。
这有什么问题?
原始功能:
$(function()
{
var template = $('#inventoryItems .inventory:first').clone(),
inventoryCount = 0;
var addInventory = function()
{
inventoryCount++;
var inventory = template.clone().find(':input').each(function()
{
var newLabel = "invItem[" + inventoryCount + "]";
$(this).prev().attr('id', newLabel);
$(this).prev().attr('name', newLabel);
}).end()
.attr('id', 'inv' + inventoryCount)
.appendTo('#inventoryItems > fieldset');
};
$('.btnAddInventory').click(addInventory);
});
新功能:
function addInventory(count)
{
var template = $('#inventoryItems .inventory:first').clone(),
var inventory = template.clone().find(':input').each(function()
{
var newLabel = "invItem[" + count + "]";
$(this).prev().attr('id', newLabel);
$(this).prev().attr('name', newLabel);
}).end()
.attr('id', 'inv' + count)
.appendTo('#inventoryItems > fieldset');
};