【问题标题】:Show elements dynamically in a zend form以 zend 形式动态显示元素
【发布时间】:2011-03-23 14:23:14
【问题描述】:

我正在使用 zend 形式,并且我有这样的条件:

当我选择一个下拉列表的值时,我必须在下拉字段下方动态显示一个文本字段。

当我选择下拉列表的另一个值时,我必须在下拉字段下方动态显示另一个字段。

我想将 ajax 与下拉字段的 onchange 事件一起使用...我该如何继续?

这是我以zend形式创建元素的示例代码:

$country = $this->createElement('select',’countries’);
            $country ->setLabel('Countries:')
                ->addMultiOptions(array(
                        'US' => 'United States',
                        'UK' => 'United Kingdom' 
                            ))
                ->setAttrib('id', 'country');

【问题讨论】:

  • 为什么是ajax?您不能只制作它们,将它们的 ccs 显示设置为无,然后使用例如JQuery 根据选择的选项显示/隐藏元素?

标签: php zend-framework zend-form


【解决方案1】:
$country = $this->createElement('select',’countries’);
            $country ->setLabel('Countries:')
                ->addMultiOptions(array(
                        'US' => 'United States',
                        'UK' => 'United Kingdom' 
                            ))
                ->setAttrib('id', 'country');
                ->setAttrib('onchange', 'javascript goes here that will set textbox to visible'
$textbox = $this->createElement('text',’textbox’);
            $textbox->setAttrib('style', 'display:none;')
            ->setAttrib('id', 'country');

【讨论】:

  • 谢谢,在我的 javascript 中,我写的是:$("#state").show();和 $("#state").hide();基于国家下拉菜单的选定值。
  • 如果有与元素相关联的标签,则不起作用...标签会显示... :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多