我有下面的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');
};