Jquery 动态复选框不会执行取消选中的工作

Jquery 动态复选框不会执行取消选中的工作,jquery,dynamic,Jquery,Dynamic,您好,我正在使用以下代码向表单动态添加复选框: <table> <tr> <?php foreach ($checks as $che) : ?> <td><?php echo $this->Form->checkbox($che, array('class' => $che, 'name' => $che)); ?></td> <?php endforeach;

您好,我正在使用以下代码向表单动态添加复选框:

<table>
<tr>
    <?php foreach ($checks as $che) : ?>
        <td><?php echo $this->Form->checkbox($che, array('class' => $che, 'name' => $che)); ?></td>
    <?php endforeach; ?>
</tr>
第一次单击复选框时,它工作正常,h3标记出现,但当我再次尝试单击它时,它不会像应该的那样隐藏

任何帮助都会很好


提前谢谢。

我已经解决了,但谢谢你的回复

$('.Variables:checkbox').on('click', (function()
{
    if($(this).prop("checked"))
    {
        $("#accordion").find('h3').filter(':contains('+this.name+')').show();  
    }
    else
    {
        $("#accordion").find('h3').filter(':contains('+this.name+')').hide();
    }
}));

这与CakePHP无关。问题在于HTML和Javascript,或者两者都有。(请发布生成的HTML代码,而不是生成它的PHP)。
live()
实际上已被弃用,明智的做法是转到
on()
检查
h3
上的CSS,它可能与复选框重叠,因此单击事件永远不会击中您的节点。
$('.Variables:checkbox').on('click', (function()
{
    if($(this).prop("checked"))
    {
        $("#accordion").find('h3').filter(':contains('+this.name+')').show();  
    }
    else
    {
        $("#accordion").find('h3').filter(':contains('+this.name+')').hide();
    }
}));