2012-09-04 20 views
0

嗨,我動態地添加複選框與followng代碼的形式:動態複選框不會做不選工作

<table> 
<tr> 
    <?php foreach ($checks as $che) : ?> 
     <td><?php echo $this->Form->checkbox($che, array('class' => $che, 'name' => $che)); ?></td> 
    <?php endforeach; ?> 
</tr> 

試圖做這取決於事情的正常工作,然後在jquery的即時通訊公司檢查或不與下面的代碼:

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

    } 
    else if($('.' + this.name).prop("checked", false)) 
    { 
     $("#accordion").find('h3').filter(':contains('+this.name+')').hide(); 
    } 
})); 

我第一次點擊複選框它工作正常,並出現H3標籤但後來當我嘗試再次單擊它並不能掩蓋喜歡它那HOULD。

任何幫助將是偉大的。

在此先感謝。

+0

這有什麼好做的CakePHP。這個問題與HTML,Javascript或兩者兼而有之。 (請發佈生成的HTML代碼,而不是生成它的PHP)。 – Dave

+0

'live()'實際上已被棄用,它是明智的移動到'on()' – Phil

+1

檢查'h3'上的CSS,它可能與複選框重疊,所以點擊事件永遠不會擊中你的節點。 – AlienWebguy

回答

1

我已經解決了,但感謝您的答覆

$('.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(); 
    } 
}));