2016-01-03 16 views
1

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

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

Но это не создает какое-либо disabled заявления в HTML коде.

Какая у меня ошибка?

+0

Вам следует более внимательно ознакомиться с документами и проверить правильную подпись для 'FormHelper :: select()'. http://api.cakephp.org/3.1/class-Cake.View.Helper.FormHelper.html#_select | http://book.cakephp.org/3.0/en/views/helpers/form.html#creating-select-pickers – ndm

+0

@ndm, очень жаль, я сделал путаницу между '' input() '' и '' select() '' синтаксис. – 2ndGAB

ответ

0

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

$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] 
); 
1

Вы должны использовать входную функцию FormHelper и установить тип = «выберите»
.my образца (только выбирается три)

$status = [1 => 'One', 2 => 'Two', 3 => 'Three']; 
echo $this->Form->input("status", 
    [ 
    'type' => 'select', 
    'options' => $status, 
    'label' => false, 
    'disabled' => [1, 2] 
    ] 
); 
+0

Рабочий ответ ... +1 –