如何在Zend Framework中使用ViewHelper设置Select lke disabled ='disabled'的任何属性

时间:2010-08-31 13:13:31

标签: php zend-framework

我正在使用Zend Frameworks ViewHelpers。 我试图传递一些东西来设置SELECT中的禁用属性。例如,如果

$countries = array(1=>'Select Option', 2=>'us', 3=>'uk')

formSelect('country','us',null,$this->countries)

我需要拨打第一个选项,即“选择选项”

你有什么想法吗?

感谢addvance

3 个答案:

答案 0 :(得分:5)

我认为你不能禁用一个元素?如果你禁用它,为什么要这样做呢?

您只能停用整个<select>输入。

建议您编写验证以不接受第一个元素。

在OP关于能够做到这一点的评论之后编辑

这是另一个答案

// Get the countries element (do this after adding your options), then set the 
// attribute disable for option '1'
$form->getElement("countries")->setAttrib("disable", array(1));

建议使用here

答案 1 :(得分:3)

有一种方法可以通过Zend_Form(至少在我现在的1.11中)这样做:

$this->addElement
(
    "select","selectName", 
    array("multiOptions"=>array("one","two","three"), "disable"=>array(0,1))
);

那个会禁用前两个选项。

答案 2 :(得分:1)

归功于jakenoble 只需重新格式化代码即可使用formSelect-viewhelper而不是form-element。

<?php
$countries = array(1 => 'Select Option', 2 => 'us', 3 =>'uk');
echo $this->formSelect('country', 2, array('disable' => array(1)), $countries)

这将导致:

<select name="country" id="country"> 
    <option value="1" label="Select Option" disabled="disabled">Select Option</option> 
    <option value="2" label="us" selected="selected">us</option> 
    <option value="3" label="uk">uk</option> 
</select>