gpt4 book ai didi

javascript - 从表单中添加和删除元素,第一次单击有效,后续单击无效

转载 作者:行者123 更新时间:2023-11-28 15:40:18 24 4
gpt4 key购买 nike

我正在尝试根据表单前一部分中的复选框向表单添加/删除元素。我的问题是,当用户第一次单击 checkContact 中的任何内容时,表单会正确附加。如果用户取消选中该框,它将被正确删除。当用户重新单击该复选框时,不会添加该元素。

 $('.checkContact').click(function(){
var addInfo = "<div class='middleRow'><input type='text' id='"+val+"_name[]' name='"+val+"'_name[]'></div>";
if($(this).is(':checked'))
{
alert(addInfo);
$('#'+divId).append(addInfo);
}
else
{
$('#'+divId).detach();
// i have also tried .remove();
}

fiddle : Fiddle

最佳答案

else 部分中,您将从 dom 树中删除元素 $('#' + divId),而不是删除其内容。您只需清空容器元素,因为在 if block 中您要将目标标记添加到容器元素。

$('.checkContact').click(function () {
var val = $(this).val();
var divId = val + '_div';
var addInfo = "<div class='middleRow'><input type='text' id='" + val + "_name[]' name='" + val + "'_name[]'></div>";
if (this.checked) {
//alert(addInfo);
$('#' + divId).html(addInfo);
} else {
//you are removing the container instead of removing its content
$('#' + divId).empty();
}
});

演示:Fiddle

关于javascript - 从表单中添加和删除元素,第一次单击有效,后续单击无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24006855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com