Как настроить поле формы Zend MultiCheckbox с установленными флажками? - PullRequest
3 голосов
/ 30 ноября 2011

У меня есть эта форма:

$this->addElement ( 
            'multiCheckbox', 'servers2', 
            array (
                   'checkedValue' => '0',
                   'multiOptions' => array(
                        '11.com' => '.com',
                        '12.com' => '12.com',
                        '16.com' => '16.com',
                        '3.com' => '17.com'
                        )
            ));

проблема в том, что checkedValue не работает для этой настройки, он работает для простого флажка. Я также пробовал 'checkedValues' => array('1','0'), единственное или множественное число, но конца не видно.

есть идеи?

1010 * БЛАГОДАРЯ *

Ответы [ 3 ]

11 голосов
/ 30 ноября 2011

Чтобы отметить определенные флажки как отмеченные, попробуйте следующее:

$multiCheckElement->setValue(array('11.com', '3.com'));

// or 

$this->addElement ( 
    'multiCheckbox', 'servers2', 
    array (
        'value' => array('11.com', '3.com'), // select these 2 values
        'multiOptions' => array(
                    '11.com' => '.com',
                    '12.com' => '12.com',
                    '16.com' => '16.com',
                    '3.com' => '17.com'
                    )
    )
);

См. Также Zend_Form_Element_MultiCheckbox

2 голосов
/ 13 ноября 2015

ZF2 потребует от вас использовать value_options;

$form->add(
        array(
            'name' => 'servers2',
            'type' => \Zend\Form\Element\MultiCheckbox::class,
            'attributes' => array(
                'id' => 'servers2',
                'class' => 'form-control',
            ),
            'options' => array(
                'label' => 'Servers 2',
                'column-size' => 'sm-10',
                'label_attributes' => array('class' => 'col-sm-2'),
                'twb-layout' => 'horizontal',
                'value_options' => array(
                    '11.com' => '.com',
                    '12.com' => '12.com',
                    '16.com' => '16.com',
                    '3.com' => '17.com'
                )
            ),
        )
    );
0 голосов
/ 18 января 2017

Чтобы указать отмеченные опции, как видно в , используйте атрибут 'selected' => true:

$options = array(
    array(
        'value' => '0',
        'label' => 'Apple',
        'selected' => false,
        'disabled' => false,
        'attributes' => array(
            'id' => 'apple_option',
            'data-fruit' => 'apple',
        ),
        'label_attributes' => array(
            'id' => 'apple_label',
        ),
    ),
    array(
        'value' => '1',
        'label' => 'Orange',
        'selected' => true,
    ),
    array(
        'value' => '2',
        'label' => 'Lemon',
    ),
);
...