Я использую radioButtonList как этот:
$form->radioButtonList(Store::model(), 'product',
array(CODE1 => TEXT1,
CODE2 => TEXT2,
CODE3 => TEXT3)
);
Этот radioButtonList является частью формы с большим количеством полей. После отправки, если какое-либо поле является неправильным, я показываю некоторое сообщение об ошибке и заполняю правильные поля, используя $ _POST.
Все поля получают свои предыдущие значения, кроме этого radioButtonList. Мне нужно установить проверенное значение radioButtonList, которое было выбрано перед отправкой, но я не могу найти, как это сделать.
Создайте $model = new Store();
в вашем действии, передайте его для просмотра и использования $model
переменная вместо Store::model()
, Это должно помочь.
UPD: нужно использовать то же самое $model
после проверки.
Ты можешь использовать
CHtml :: radioButtonList (строка $ name, строка $ select, массив $ data, массив $ htmlOptions = array ());
В вашем случае это будет
CHtml :: radioButtonList (‘product’, $ _ POST [product], массив (CODE1 => TEXT1, CODE2 => TEXT2, CODE3 => TEXT3));
Наконец-то я получил решение. (не элегантный, но работает)
С точки зрения:
Store::model()->product = $_POST["Store"]["product"];
Прямо перед отображением radioButtonList