Javascript 如何使用从ezMark生成的复选框?

Javascript 如何使用从ezMark生成的复选框?,javascript,jquery,html,checkbox,smarty,Javascript,Jquery,Html,Checkbox,Smarty,我在我的网站上使用ezMark库以及PHP、Smarty、jQuery等。在其中一个网页上,我想根据某些条件禁用一些复选框。在此之后,将有一个父复选框,选择该复选框后,所有未禁用的复选框都将被选中,反之亦然,以取消选中父复选框。此外,在选中父复选框后,如果我取消选中任何一个选中的复选框(未禁用),父复选框也应取消选中。我尝试了很多方法来实现这一点,通过常规代码检查和取消检查复选框(.attr('checked','checked')和.removeAttr('checked');),但由于ezM

我在我的网站上使用ezMark库以及PHP、Smarty、jQuery等。在其中一个网页上,我想根据某些条件禁用一些复选框。在此之后,将有一个父复选框,选择该复选框后,所有未禁用的复选框都将被选中,反之亦然,以取消选中父复选框。此外,在选中父复选框后,如果我取消选中任何一个选中的复选框(未禁用),父复选框也应取消选中。我尝试了很多方法来实现这一点,通过常规代码检查和取消检查复选框
(.attr('checked','checked')
.removeAttr('checked');
),但由于ezMark库的原因,在这种情况下不起作用。现在,我使用以下代码来选中和取消选中复选框,如下所示: 父项代码复选框:

<p id="parentCheckbox" class="custom-form"> 
  <input class="custom-check" type="checkbox" name="" id="ckbCheckAll">
  <a class="drop" href="#">more</a> 
</p>
{section name=tests loop=$all_tests}
<p class="custom-form"> 
  <input class="custom-check checkBoxClass" type="checkbox" name="" id="" {if $all_tests[tests].is_test_lock!=1 && $all_tests[tests].test_assign_to_package=='no'} {else} disabled {/if}>
  <label>{$all_tests[tests].test_name}</label>
</p>
{/section}
$(document).ready(function()  { 
$("#ckbCheckAll").click(function () { 
  if ($(this).is(':not(:checked)'))
    $(".ez-checkbox").removeClass("ez-checked");

  if($(this).is(':checked'))
      $(".ez-checkbox").addClass("ez-checked");
  });
});
当我查看Firbug元素检查器时,会得到为子复选框创建的不同HTML,如下所示:

<p class="custom-form">
<div class="ez-checkbox ez-checked">
<input id="" class="custom-check checkBoxClass ez-hide" type="checkbox" name=""></input></div>
<label>N1P: Gravitation</label>
</p>

N1P:引力

我不知道这个
标签是从哪里来的。所以为了勾选和取消勾选paren复选框选择的所有子复选框,我写了上面的逻辑。由于此
div
标记和ezMark库,正常逻辑无法工作。在当前代码中,所有子复选框都会被选中,包括在选中父复选框和取消选中父复选框时禁用的复选框,所有子复选框都会被取消选中。您能否通过演示如何实现此场景中选择和取消选择子复选框所需的功能来提供帮助?提前谢谢

生成的结构对于实现您想要的目标来说并不是一个真正的问题。我写这篇文章是为了向您展示一种基于css类来识别父(
.l0
)和子(
.l1
)的方法

我手动禁用了示例的一些复选框,但您可以使用您的条件禁用它们


希望这能对您有所帮助;)

输入是自动关闭的
-这只是一个注释,(可能)对您的问题没有影响。啊,回头看,这看起来像是FireBug或预处理器做的。忽略前面的语句。@rlemon:为了您的参考,我给您一个链接如下:转到这里,看看如何在firebug中添加th标记。这真的是摆在我面前的大问题。请帮我解决这个问题。感谢您的关注。是的,我没有回答,因为这个问题不属于我的专业领域,但是我注意到渲染输出中的输入错误,因此出现了评论。我在网页中使用ezmark复选框,问题是当我单击按钮将选中的值添加到表中时,它只工作一次,然后它一直不返回任何内容。任何帮助plzYou都应该为此单独提出一个问题,并提供js和html代码