2012-01-30 51 views
0

我有以下php腳本現在我希望把他的劇本在zend forms這裏是我到目前爲止的代碼: -如何把複選框下窗體Zend框架

$parents = array(); 
$childs = array(); 
foreach ($this->Tagkey as $aResultDataValue) { 
     $parents [$aResultDataValue['parent']] = $aResultDataValue['parent']; 
     $childs [$aResultDataValue['parent']][] = $aResultDataValue['child']; 
} 

foreach ($parents as $parent) { 
    echo '<div>'; 
    $parent_value = "'$parent'"; 
    echo '<div><input type="checkbox" name="parents[]" value="'.$parent.'" id="'.$parent.'" class="parentCheck"/> 
    <label for="parents_'.$parent.'">'.$parent.'</label></div>'; 
    foreach ($childs[$parent] as $child) { 
      $child_value = "'$child'"; 
       echo '<div style="margin-left:15px;"><input type="checkbox" name="childs[]" value="'.$child.'" id="childs_'.$child.'" class="child_'.$parent.'" onclick="checkParent('.$parent_value.','.$child_value.');"/> 
       <label for="childs_'.$child.'">'.$child.'</label></div>'; 
    } 
    echo '</div>'; 
} 

也是我在這裏使用了一些javascript代碼

<script> 
jQuery(document).ready(function(){ 
     // add multiple select/deselect functionality 
     jQuery(".parentCheck").click(function() { 
      var childId = jQuery(this).attr('id'); 
      jQuery('.child_'+childId).attr('checked', this.checked); 
     }); 
}); 
function checkParent(parentId,childId) { 
    if(jQuery(".child_"+parentId).length == $(".child_"+parentId+":checked").length) { 
      $('#'+parentId).attr("checked", "checked"); 
     } else { 
      $('#'+parentId).removeAttr("checked"); 
     } 
} 

</script> 

這工作適合我在.phtml網頁,但實際上我希望把這個代碼zend form並呼籲這樣

echo $this->form ; 

我能做些什麼?

注: - 在這裏Tagkey是: -

$tags =new Campaign_Model_DbTable_Tag(); 
$aResultData = $tags->getTagkey(); 
$this->view->Tagkey = $aResultData; 

回答

0

你可以讓子的形式給每個家長和孩子。

EG: -

! Zend方法名稱可能不正確。請找到那些方法。這是做你的工作的唯一途徑。嘗試使用表單裝飾器。 testForm.php

$form = Zend_Form(); 

foreach ($parents as $parent) { 

    $subForm = new Zend_SubForm(); 
    $subForm->addElement($parent); 

    foreach ($children as $child) { 
     $subForm->addElement($child); 
    } 

    $form->addSubForm($subForm); 
} 

代碼爲什麼你在元素中使用的onclick方法?嘗試使用Jquery點擊功能,就像你的另一個代碼。 :)

+0

:)我在這裏使用jquery點擊功能 – John 2012-01-30 13:00:14

+0

您可以再次使用不同類別的點擊功能。你不是試試嗎? :P – 2012-01-30 13:04:49

+0

:)可以YOu請給我更多的解釋,我嘗試子表單,但不能得到我想要的 – John 2012-01-31 04:32:36