如何使用javascript隐藏Zend元素标签

时间:2015-05-18 08:10:58

标签: javascript jquery zend-framework

嗨我有一个隐藏和显示将呈现哪个选择元素的脚本取决于选择下拉列表的值。

function testOnClick(){ 
  var e = document.getElementById("role");

  var selectValue = e.options[e.selectedIndex].value;

  alert(selectValue);
  if(selectValue == 1)
  {       
     // $("#item").toggle();
      $("#sub_unit").show();
      $("#sub_unit_dropdown").hide();
      $('#sub_unit_dropdown').parent().children().hide()    
    }
  else
  {
      $("#sub_unit").hide();
      $('#sub_unit').parent().children().hide()
      $("#sub_unit_dropdown").show();
      }     

}

这是zend元素

 $this->add(array(
            'name' => 'role',
                'id'   => 'role',
            'type' => 'Zend\Form\Element\Select',
            'options' => array(
                'label' => 'Role',              
                'empty_option' => '(Please select)',
                'value_options' => array(
                    '1' => 'Manager',
                    '2' => 'Employee',
                ),
            ),
        ));

        $this->add(array(
            'name' => 'status',
            'type' => 'Zend\Form\Element\Select',
            'options' => array(
                'label' => 'Status',
                'value_options' => array(
                    '1' => 'Active',
                    '2' => 'Inactive',
                ),
            ),
        ));

        $this->add(array(
            'name' => 'sub_unit',
            'id'   => 'sub_unit',               
            'type' => 'Zend\Form\Element\Select',
            'options' => array(
                'label' => 'Sub Unit / Team',
                'value_options' => $this->getOptionsForSubUnit(),
                'description' => 'Hold down the control (ctrl) button to select multiple options',
            ),
            'attributes' => array(
                'multiple' => true,
                'size'     => 12,
            ),
        ));

          $this->add(array(
            'name'       => 'sub_unit_dropdown',
            'id'        => 'sub_unit_dropdown',
            'type'       => 'Zend\Form\Element\Select',
            'options'    => array(
                'label' => 'Sub Unit / Team',
                'value_options' => $this->getOptionsForSubUnit(),
            ),
            'attributes' => array(
                'size'     => 12,
                'class' => 'input-medium'
            ),
        ));

它工作正常,它隐藏并显示哪个选择元素将隐藏或显示但问题是隐藏选择元素的标签仍然可见。 如何隐藏它与select元素一起隐藏?。

TIA

1 个答案:

答案 0 :(得分:1)

请测试这是否有效,

$this->add(array(
        'name'       => 'sub_unit_dropdown',
        'id'        => 'sub_unit_dropdown',
        'type'       => 'Zend\Form\Element\Select',
        'options'    => array(
            'label' => 'Sub Unit / Team',
            'label_attributes' => array('class' => 'hidethelabel'),
            'value_options' => $this->getOptionsForSubUnit(),
        ),
        'attributes' => array(
            'size'     => 12,
            'class' => 'input-medium'
        ),
    ));

基本上我认为你可以添加一个类或一个id

  

'label_attributes'=>数组('class'=>'hidethelabel')

并在脚本中使用该id / class来隐藏标签。

只是一个想法。