echo "<p><input type=\"submit\" class=\"input-button\" id=\"btn-add\" value=\"Add Squad\" /></p>";
然后我把函数写成:
$(function(){
var count = 2;
$('#btn-add').click(function(){
if(count == 5){
$('.groupA').append('<div class="groupB"><div class="column left" style="color: darkorange;"><input type="text" name="S' +count+ '" value="Squad ' +count+ '" style="text-align: center; width:151;"></center><ul class="sortable-list"></ul></div>');
if(count > 11){
$('#btn-add').hide();
}
} else if(count == 9){
$('.groupB').append('<div class="groupC"><div class="column left" style="color: darkorange;"><input type="text" name="S' +count+ '" value="Squad ' +count+ '" style="text-align: center; width:151;"></center><ul class="sortable-list"></ul></div>');
}else {
if(count > 11){
$('#btn-add').hide();
}
if (count > 9)
$('.groupC').append('<div class="column left" style="color: darkorange;"><input type="text" name="S' +count+ '" value="Squad ' +count+ '" style="text-align: center; width:151;"></center><ul class="sortable-list"></ul></div>');
else if (count > 4)
$('.groupB').append('<div class="column left" style="color: darkorange;"><input type="text" name="S' +count+ '" value="Squad ' +count+ '" style="text-align: center; width:151;"></center><ul class="sortable-list"></ul></div>');
else
$('.groupA').append('<div class="column left" style="color: darkorange;"><input type="text" name="S' +count+ '" value="Squad ' +count+ '" style="text-align: center; width:151;"></center><ul class="sortable-list"></ul></div>');
}
count++;
});
});
现在我编辑了这个,因为Felix修复了我的初始问题,但现在我已经修复了div,所有的拖放工作都不再适用了。我已经通过php手动输入一个,并且拖放适用于那个,但使用添加按钮创建的不起作用。我错过了什么?
感谢任何帮助。
答案 0 :(得分:1)
尝试在此处使用 event delegation :
$(function(){
var count = 1;
$('body').on('click','#btn-add', function() {
// Your code here
});
});
您还需要使用$('.groups')
代替$('groups')
答案 1 :(得分:0)
我没有找到绕过jquery的方法拖放不工作。添加DIV后。然而。我发现如果我添加所有div并将它们全部隐藏起来,然后使用jquery按钮取消隐藏它们。这确实有效,并且没有更多的错误/问题。我希望这有助于其他人寻找相同的答案。