请看一下
http://jsfiddle.net/tt13/CFbpt/
我需要的是,
我的+按钮效果很好:它可以即时添加文本框。但x(删除)按钮不会。我错过了什么?
答案 0 :(得分:4)
是的,表示您当前正在设置您的删除事件,然后按钮才会存在。而是将删除处理程序放在添加按钮事件中:
但实际上你应该把你的代码放到问题中,以便其他人可以找到它......
$(document).ready(function(){
var addCvBtn = $(".addCvBtn"),
rmCvBtn = $(".rmCvBtn"),
rcmText = $(".rcmText"),
btncount = 0,
inputhtml = '<div class="cvInputContainer withRemBtn"><input placeholder="CV Linkini daxil edin" name="cvlinks[]" type="text" /><button class="btn btn-medium btn-danger rmCvBtn " type="button"><i class="icon-remove icon-white"></i></button></div>';
addCvBtn.click(function(){
if(btncount == 3) addCvBtn.hide();
else
{
$(this).parent().parent().append(inputhtml);
btncount++;
rmCvBtn = $(".rmCvBtn");
$(".withRemBtn").on('click', ".rmCvBtn", function(){
addCvBtn.show();
$(this).parent().remove(); //EDITED
btncount--;
alert('deleted');
});
}
});
});
编辑:我认为你可能尝试实现的.on()的动态使用是:
$(文件)。就绪(函数(){
var addCvBtn = $(".addCvBtn"),
rmCvBtn = $(".rmCvBtn"),
rcmText = $(".rcmText"),
btncount = 0,
inputhtml = '<div class="cvInputContainer withRemBtn"><input placeholder="CV Linkini daxil edin" name="cvlinks[]" type="text" /><button class="btn btn-medium btn-danger rmCvBtn " type="button"><i class="icon-remove icon-white"></i></button></div>';
addCvBtn.click(function(){
if(btncount == 3) addCvBtn.hide();
else
{
$(this).parent().parent().append(inputhtml);
btncount++;
rmCvBtn = $(".rmCvBtn");
}
});
$(document).on('click', ".withRemBtn .rmCvBtn", function(){
addCvBtn.show();
$(this).parent().remove(); //EDITED
btncount--;
alert('deleted');
});
});
答案 1 :(得分:0)
您需要在delete
中声明click
个事件。在您编写代码时,您首先设置删除事件,然后添加它。它不起作用,因为btn delete不会在添加'enter code heredelete'事件