关于使用jquery动态生成复选框的父/子关系的问题
我有一种基于用户内容动态生成的复选框形式。复选框的各个部分按类别划分,每个类别中都有项目。出于数据库目的,类别值具有隐藏的复选框。如果类别中的子项具有选中的复选框,则也会选中类别复选框 我使用JQuery.click()可以正常工作,但我不知道如何在页面加载时执行此操作 以下是实际单击复选框时的代码:关于使用jquery动态生成复选框的父/子关系的问题,jquery,checkbox,parent-child,onload,Jquery,Checkbox,Parent Child,Onload,我有一种基于用户内容动态生成的复选框形式。复选框的各个部分按类别划分,每个类别中都有项目。出于数据库目的,类别值具有隐藏的复选框。如果类别中的子项具有选中的复选框,则也会选中类别复选框 我使用JQuery.click()可以正常工作,但我不知道如何在页面加载时执行此操作 以下是实际单击复选框时的代码: $(".project").click(function() { if($(this).is(":checked") && $(this).hasClass("proje
$(".project").click(function() {
if($(this).is(":checked") && $(this).hasClass("project")) {
$(this).parent().parent().children(':first').attr('checked', true);
}else if(!$(this).parent().children('.project').is(":checked")){
$(this).parent().parent().children(':first').attr('checked', false);
}
});
现在,当我编辑这些框的状态时(意味着它们保存到db后),类别框不会显示为选中状态,即使它们的子项目已选中。如果选中了类别的子项,我可以如何做才能使我的类别框在加载时被选中
我认为问题的一部分在于动态更改的父子设置,如何找到父框以便选中它?谢谢 编辑:
假设父元素有一个唯一的类
<div class="parent">
<input type="checkbox" />
<div>
<input type="checkbox" class="project" checked="checked" />
</div>
<div>
<input type="checkbox" class="project" />
</div>
</div>
这将返回.parent
元素,这些元素至少有一个子元素具有类项目
,并且被选中
的文档:具有选择器
如果要在页面加载时运行
单击处理程序,可以手动触发它
$(".project").click(function() {
if($(this).is(":checked") && $(this).hasClass("project")) {
$(this).parent().parent().children(':first').attr('checked', true);
}else if(!$(this).parent().children('.project').is(":checked")){
$(this).parent().parent().children(':first').attr('checked', false);
}
});
$('.project').click(); // Triggers the click event handler
这是以下的简写:
$('.project').trigger('click'); // Accomplishes the same as above
我建议您使用绑定触发器的方法,它旨在将绑定应用于动态创建的元素。@Ghommey-真的吗?如果是的话,没有。是的,你做到了。只需阅读我的代码,上面写着。单击()
。。你在2分钟后发布了答案,给出了相同的解决方案。@Ghommey-放下妄想症。你的肯定是第一名。这只是意味着我在回答我的问题,而你在提交你的问题。当我开始时,没有答案。两个人想出相同的解决方案并不罕见(信不信由你)。我绝对不需要复制你的答案来获得一个非常简单的解决方案。@Ghommey-等等!让我先复印一下;o) @Jeff-这将有助于查看您的HTML结构。可能有一个很好的解决方案,它不需要触发更多的事件。
$('.project').trigger('click'); // Accomplishes the same as above