CakePHP3.1: отключить параметры в выбранном входе

Я хочу отключить параметры в поле выбора, поэтому я попробовал:

echo $this->Form->select("status", 
    [
    'options' => $status, 
    'value' => $order->status, 
    'label' => false, 
    'disabled' => [1, 2]
    ]);

Но он не генерирует никаких операторов disabled в html-коде.

В чем моя ошибка?


person fralbo    schedule 03.01.2016    source источник
comment
Вам следует внимательно изучить документы и проверить правильность подписи для FormHelper::select(). api.cakephp.org/3.1/ | book.cakephp.org/3.0/en/ просмотры / помощники /   -  person ndm    schedule 04.01.2016
comment
@ndm, ну извини, я перепутал синтаксисы input() и select().   -  person fralbo    schedule 04.01.2016


Ответы (2)


правильный способ установить атрибуты для параметров выбора - передать массив, подобный этому

$options = [
    [ 'text' => 'option 1', 'value' => 'value 1', 'disabled' => true],
    [ 'text' => 'option 2', 'value' => 'value 2', 'disabled' => true],
    [ 'text' => 'option 3', 'value' => 'value 3'],
    [ 'text' => 'option 4', 'value' => 'value 4']
];

echo $this->Form->select(
    'status', 
    $options, 
    ['value' => $order->status, 'label' => false]
);
person arilia    schedule 04.01.2016

Вы должны использовать функцию ввода FormHelper и установить type = "select"
. Мой образец (только выбираемые три)

$status = [1 => 'One', 2 => 'Two', 3 => 'Three'];
echo $this->Form->input("status", 
    [
    'type' => 'select',
    'options' => $status, 
    'label' => false, 
    'disabled' => [1, 2]
    ]
);
person Quy Le    schedule 17.03.2016
comment
Рабочий ответ ... +1 - person Vishal Kumar Sahu; 28.06.2017