我有fiddle
这是我的JS:
$(document).ready(function() {
window.qNum = 0;
window.$oClone = $('#pq0').clone();
addForm();
});
$('.addForm').live('click', function addForm() {
var $clone = $oClone.clone().attr('id', 'pq' + qNum + 1);
// insert the new element after the last "duplicatable" input field
$('#pq' + qNum).after($clone);
});
我试图将我的变量'qNum'增加到我的函数'addForm'的末尾。 这将增加ID,以便我可以在以后的项目中更轻松地找到内容。
我想添加一个++ qNum;在函数的最后但它正在破坏脚本,如果我添加它将无法运行。
Here是我的测试,不适用于更改。
答案 0 :(得分:1)
var qNum = 0;
$(document).ready(function() {
window.$oClone = $('#pq0').clone();
addForm();
});
$('.addForm').live('click', addForm);
function addForm() {
var appendTo = $('#pq' + qNum);
qNum += 1;
var $clone = $oClone.clone().attr('id', 'pq' + qNum);
// insert the new element after the last "duplicatable" input field
appendTo.after($clone);
}
在文档就绪调用之外声明您的qNum。然后++增加它以正确跟踪。另外,将clickForm移动到click侦听器之外并像这样调用它。希望它有所帮助。
将此粘贴到您的小提琴中。它会起作用。
答案 1 :(得分:0)
您正在另一个函数的范围内声明您的函数。这意味着在click
事件之外,该函数不存在。
$('.addForm').live('click', function addForm() {
var $clone = $oClone.clone().attr('id', 'pq' + qNum + 1);
// insert the new element after the last "duplicatable" input field
$('#pq' + qNum).after($clone);
});
做这样的事情会有所帮助:
function addForm() {
var $clone = $oClone.clone().attr('id', 'pq' + qNum + 1);
// insert the new element after the last "duplicatable" input field
$('#pq' + qNum).after($clone);
}
$('.addForm').live('click', addForm);