как поставить флажок под формы в Zend Framework - PullRequest
0 голосов
/ 30 января 2012

У меня есть следующий php скрипт, теперь я хочу поместить его скрипт в zend forms Вот мой код: -

$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;

1 Ответ

0 голосов
/ 30 января 2012

Вы можете сделать подформу для каждого родителя и ребенка.

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, как ваш другой код. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...