теги параметров, созданные из Zend_Form_Element_Select неправильно - PullRequest
0 голосов
/ 09 февраля 2011

Я использую Zend_Form_Element_Select для создания списка выбора, но когда я просматриваю источник, теги параметров выглядят так:

<select name="things" id="things">
    <option value="thing1" label="Thing 1">Thing 1</option>
    <option value="thing2" label="Thing 2">Thing 2</option>
    <option value="thing3" label="Thing 3">Thing 3</option>
</select>

атрибут label не обязательно должен быть там. Там нет смысла быть там. Значение должно совпадать с тем, что указано в ярлыке. Вот код, который я использовал:

$things = new Zend_Form_Element_Select('things');
$things->setLabel('Things:');
$things->setRequired(TRUE);
$things->addMultiOptions(array(
    'thing1'=>'Thing 1',
    'thing2'=>'Thing 2',
    'thing3'=>'Thing 3'
));
$this->addElement($things);

Я все об этом ошибаюсь или это именно так работает Зенд, и мне просто нужно с этим справиться?

Ответы [ 3 ]

0 голосов
/ 09 февраля 2011

Атрибут label "указывает более короткую метку для опции" и является действительным атрибутом тега option.Так как все ваши варианты разные, ярлыки тоже будут разные.

0 голосов
/ 06 января 2014

может быть, если вы удалите первым?

->removeDecorator('Label')
                                    ->removeDecorator('HtmlTag');
0 голосов
/ 09 февраля 2011

Массив, который вы передаете, принимает значение value => label, так что вы захотите сделать

$things->addMultiOptions(array(
  'Thing 1'=>'Thing 1',
  'Thing 2'=>'Thing 2',
  'Thing 3'=>'Thing 3'
));
...