У меня есть список выбора с параметрами:
$options = array(0 => '0', 500 => '500', 1000 => '1000');
Я пытаюсь установить значение по умолчанию 500:
$form['price']['min']['#options'] = $options;
$form['price']['min']['#default_value'] = 500;
Но это не работает.
Ответы:
Я никогда не видел эту проблему. Это значение по умолчанию должно работать. Я бы сказал, попробуйте сделать ключ строкой и установить
#default_value
в качестве строки.#options
Массив может быть пропускает черезarray_merge
где - нибудь, таким образом , перепечатывание целого число клавиша. Если ключи являются строками, этого не должно происходить. В настоящее время ваш массив выглядит так:Но передача этого массива
array_merge
может реорганизовать эти целочисленные ключи в последовательном порядке:Если это произойдет, то
500
ключ просто не существует. Это потому,array_merge
что не любит сохранять целочисленные ключи, но вы можете использовать строки, чтобы предотвратить это. Итак, я думаю, что ваш массив должен выглядеть примерно так:Затем вы можете установить
#default_value
:Иначе, есть ли где-нибудь еще, где это
default_value
может быть переопределено?источник
Ваш код должен работать, обычно используйте значение ключа в качестве значения по умолчанию, если он не работает, сделайте строку в качестве ключей и используйте ее в качестве значения по умолчанию.
источник
Вы пытались использовать строку вместо целого числа?
Может быть, стоит попробовать добавить
'und'
ключ.источник
Вы пытались использовать ключ из массива $ options для определения значения по умолчанию?
$form['price']['min']['#default_value'] = $options[500];
источник
Чтобы установить значение по умолчанию в списке выбора, мы используем параметр #default_value. Значением атрибута default_value списка выбора будет ключ массива списка выбора.
источник
Следующий код покажет поле со значением по умолчанию 500.
источник
Я столкнулся с той же проблемой, и я попытался дать индекс массива, который я хочу быть значением по умолчанию, и это сработало. Мой ответ похож на Ашока К.С., но его вторую строчку я не смог понять.
источник
исправлено, мы должны установить значение по умолчанию первым из этого массива $ option, если мы добавили последний, ключ массива изменился [1] => science, [2] => drama, право должно быть [192] => science, [231 ] => драма :-)
источник
пытаться:
$ form ['price'] ['# default_value'] = 500;
Это хорошо для меня.
источник
#default_value
Должны иметь свои аргументы в форме , как это#value
.источник
Просто используйте
Это означает, что значение по умолчанию примет опцию 2eme
источник
РЕШЕНИЕ: выяснить, что form_select_options не обрабатывает
#default_value
вообще. Поэтому я использовал#value property
:источник
#value
параметра сделает невозможным изменение значения пользователем.$_REQUEST['price']['min']
либо$my_default_value
. Все, что вы введете в #value, будет значением поля независимо от того, что когда-либо вводит пользователь.