Zend: onay kutularını verileri doldurmak nasıl?

2 Cevap php

Ben Zend üzerinde çalışıyorum. Bazı onay kutularını bir form var. Ben veritabanından veri almak ve bu forma için bu verileri doldurmak istiyor. '1 'Tablo alanında depolanan sonra onay kutusunu işaretleyin, aksi takdirde yalnız bırakın. Kutularının ve dropdowns olarak, verileri kolayca eylem bir onay kutusunu kontrol etmek için nasıl doldurulur ama.

Ben form.php onay kutularını ve bu gibi metin kutularının unsurlarını oluşturma:

// Person name
$person = $this->CreateElement('text', 'name');
$person->setLabel('Name');
$elements[] = $person;    

// Organization name
$person = $this->CreateElement('text', 'organization');
$person->setLabel('Organization');
$elements[] = $person;       

// isAdmin Checkbox
$isAdmin = $this->CreateElement('checkbox', 'isAdmin');
$isAdmin->setLabel('Admin');
$elements[] = $isAdmin;

$this->addElements($elements);
$this->setElementDecorators(array('ViewHelper'));

// set form decorator (what script will render the form)
$this->setDecorators(array(array('ViewScript' , array('viewScript' => 'organization/accessroles-form.phtml'))));

Nasıl bir formu render:

<form name="myform" action="<?= $this->element->getAction() ?>" method="<?= $this->element->getMethod() ?>" id="accessrolesform">

<table align="center" width="100%" border="0"><tbody>

<tr>
    <td><?= $this->element->name ?></td>
</tr>

<tr>
    <td><?= $this->element->organization ?></td>
</tr>


<tr>
    <td><?= $this->element->isAdmin ?></td>
</tr>

</table>
</form>

Ve (örneğin) bu gibi veri yerleştirmek:

// Prepare data to populate
$data['name'] = 'Naveed';
$data['organization'] = 'ABC';
$data['isAdmin'] = '1';

// Populate editable data
$this->view->form->populate( $data );

Bu metin kutularının verileri doldurmamak ama kutusunu kontrol etmiyor? Eylemden bir onay kutusunu işaretleyin nasıl herhangi bir fikir?

Teşekkürler

2 Cevap

Manuel:

By default, the checked value is '1', and the unchecked value '0'. You can specify the values to use using the setCheckedValue() and setUncheckedValue() accessors, respectively. Additionally, setting the value sets the checked property of the checkbox. You can query this using isChecked() or simply accessing the property. Using the setChecked($flag) method will both set the state of the flag as well as set the appropriate checked or unchecked value in the element. Please use this method when setting the checked state of a checkbox element to ensure the value is set properly.

$checkboxElement->setChecked(true);

'checked = "1" değeri ile "kontrol" için onay kutusunun değerini ayarlar.

ya $ kullanın

data['isAdmin'] = 1; // NOT string