gpt4 book ai didi

zend-framework - 无法为 Zend_Form 下拉元素设置选定值

转载 作者:行者123 更新时间:2023-12-04 06:46:42 27 4
gpt4 key购买 nike

在编辑表单时,除了下拉菜单外,所有字段都已正确填充,我无法弄清楚哪里出了问题。

这是我的表格

        $katModel = new Model_Kategoria();
$kategorie = $katModel->getKategorie(0);

$katList = new External_Form_Element_SelectAttribs('kategoria');
$katList->setLabel('Kategoria: ');
$katList->isRequired(true);
if(isset($kategorie)) {
foreach($kategorie as $k) {
$katList->addOption($k['id'], $k['kategoria'], array('class' => 'level-' . $k['depth']));
}
}
$this->addElement($katList);

我正在使用自定义元素,因此我可以将类添加到“选项”

class External_Form_Element_SelectAttribs extends Zend_Form_Element {

public $options = array();

public $helper = 'selectAttribs';

/**
* Adds a new <option>
* @param string $value value (key) used internally
* @param string $label label that is shown to the user
* @param array $attribs additional attributes
*/
public function addOption ($value,$label = '',$attribs = array()) {
$value = (string) $value;
if (!empty($label)) $label = (string) $label;
else $label = $value;
$this->options[$value] = array(
'value' => $value,
'label' => $label
) + $attribs;
return $this;
}
}

在我的 Controller 的编辑 Action 中我有

$zadanie = $zadanieModel->find($id)->current();
$zadanieForm->populate($zadanie->toArray());

它正确地填充了除那个之外的所有字段

我试过了

$zadanieForm->kategoria->setValue(7);
$zadanieForm->setDefault('kategoria', 7);

但是没有用。

现在我猜它与我正在使用的自定义元素有关(在 google 上找到了代码),但我不知道如何修改它,所以它对我有用。

最佳答案

我使用以下代码创建包含 1 到 10 数字的下拉列表。然后我选择 9 作为默认值:

$var = new Zend_Form_Element_Select('ElementName');

for ($i = 1; $i <=10; $i++) {
$priority->addMultiOption($i,$i);
}

$priority->setValue(9);

关于zend-framework - 无法为 Zend_Form 下拉元素设置选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com