Определение значения по умолчанию в выпадающем списке в CakePHP - PullRequest
0 голосов
/ 29 декабря 2010
    <?php
        echo $form->create('admin_merchant_form', array('action' => '#'));
        echo $form->input('company_name', array('label' => 'Company Name'));
        echo $form->input('ac_owner',
                           array('label' => 'Account Owner',
                           'options' => array('a','b','b'),
                           'default' => $merchant_select));
        echo $form->end('Update');
    ?>

Это код CakePHP для генерации формы с одним комбинированным списком, содержащим значения «a, b, c» и назначением значения по умолчанию как $merchant_select, которое является числовыми данными. Теперь проблема в том, что когда я назначаю значение «default» => 1, оно возвращает «b» в поле со списком в качестве значения по умолчанию, но при записи «default» => $ merchant_select, поле со списком показывает только первое значение, которое является «a».

Переменной $merchant_select присваивается числовое значение, равное идентификатору продавца, который равен 1,2 или 3, когда я выбираю любую строку в сетке. И у меня также есть код JavaScript, который предупреждает о значении продавца, когда я выбираю любую строку в сетке, так что числовые данные определенно присваиваются переменной $merchant_select.

Ответы [ 3 ]

1 голос
/ 30 декабря 2010

Значения по умолчанию устанавливаются путем передачи index требуемого значения в качестве параметра «default». В вашем коде вы не используете ассоциативный массив с явным именем. То, что вы хотите, это что-то вроде:

'options' => array('a'=>'A', 'b'=>'B', 'c'=>'C'), 'default'=>'a'

Вы также можете использовать цифровые клавиши, вам просто нужно, чтобы значение по умолчанию было 0, 1, 2 и т. Д.

0 голосов
/ 02 января 2011

'default' - это значение, начинающееся с нуля, в вашем случае вы должны присвоить ($ merchant_select - 1), или намного лучше: создайте массив опций с ключевыми значениями продавцов:

<?php

  echo $form->input('ac_owner',
    array('label' => 'Account Owner',
      'options' => array(1 => 'a', 2 => 'b', 3 => 'c'),
      'default' => $merchant_select));
?>
0 голосов
/ 30 декабря 2010

Я не уверен, что это контролируется автоматически, но переменная $merchant_id может быть в строковом контексте, а не в числовом контексте. Попробуйте привести его к числу, чтобы увидеть, изменит ли это что-либо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...