[英]How do I set the 'value' in my Zend form checkbox?
Zend Form被證明對我來說有些棘手,即使我最近正在使用它也是如此……
我有此表單,並且嘗試為它動態創建幾個復選框。 一切正常,除非我似乎無法更改'value'屬性。
在我的Zend表單課程中,我有以下代碼段...
// psychotic symptoms
$this->addElement('checkbox', 'psychoticsymptom', array(
'label' => 'psychoticsymptom',
'name' => 'psychoticsymptom',
));
在我看來(phtml)我這樣稱呼它...
<div class="element">
<?php // Psychotic Symptoms
$Criteria = new Criteria();
$Criteria->add( DictionaryPeer::CATEGORY, 'MAR: Psychotic Symptoms' );
$Criteria->addAscendingOrderByColumn( 'Ordinal' );
$this->PsychoticSymptomsList = DictionaryPeer::doSelect( $Criteria );
foreach( $this->PsychoticSymptomsList as $Symptom ) {
$form->psychoticsymptom->setValue($Symptom->getDictionaryId());
$form->psychoticsymptom->setAttrib('name', $Symptom->getWord());
echo $Symptom->getDictionaryId(); // prove my id is coming through... (it is)
$form->psychoticsymptom->getDecorator('label')->setTag(null);
echo $form->psychoticsymptom->renderViewHelper();
$form->psychoticsymptom->setLabel($Symptom->getWord());
echo $form->psychoticsymptom->renderLabel();
echo '<br />';
}
?>
</div>
一切似乎都工作正常,除了每個復選框上的value屬性正在呈現值“ 1”。 我嘗試將“ setValue”行移到幾個不同的位置,以便在表單元素呈現之前設置值,但是我沒有運氣讓它起作用。 對我來說,這是值得的,因為我需要在應用程序的許多區域中執行相同類型的操作。 我也會做一些不同的事情,但是我正在重構另一個應用程序,並試圖使某些東西保持不變(例如數據庫)。
任何幫助都非常感謝
您可以嘗試覆蓋“ checkedValue”和“ uncheckedValue”。 檢查此參考
$this->addElement('checkbox', 'psychoticsymptom', array(
'label' => 'psychoticsymptom',
'name' => 'psychoticsymptom',
'checkedValue' => 'checked Value',
'uncheckedValue' => 'unchecked Value'
));
您似乎只有一個psychoticsymptom元素“復選框”,您也為每個$ this-> PsychoticSymptomsList添加(更改)了該值。
也許最好改用multicheckbox元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.