我有如下一个HTML表单一个jQuery生成的字段:删除不工作
<div class="form_row">Add Note<input type="checkbox" name="add_note" id="add_note"></div>
<div class="form_row" id="addDiv" style="display:none;">
<div class="form_row">
<h4><a href="#" id="addScnt">Add Another Input Box</a></h4>
<div id="p_scents">
<p>
<label for="p_scnts"><input type="text" size="20" name="p_scnt_1"/></label>
</p>
<div id="new_notes">
</div>
</div>
</div>
和JavaScript是:
$('#add_note').click(function(){
if($("input[type='checkbox'][name='add_note']:checked").length > 0)
{
$('#addDiv').show(500);
}else{
$('#addDiv').hide(200);
}
})
var i = 2;
$('#addScnt').click(function(){
var html = '';
html += '<p>';
html += '<label for="p_scnts"><input type="text" size="20" name="p_scnt_"'+i+'/><a href="#" id="cancel_field">Cancel</a></label>';
html += '</p>';
$('#new_notes').append(html);
i++;
});
$('#cancel_field').click(function(){
alert('Test ')
$(this).parents('p').remove();
});
现在,我的问题是,当我点击cancel
,它确实没有做任何事情,既不警告也不移除父分区。代码有什么问题?
编辑:
ID必须是唯一的,它可能是你的问题? –
@ A.Wolff用'cancel_field'类尝试过,结果相同! – Nitish
因为您需要使用委派。请下一次尝试发布更好的代码缩进;) –