На моей странице есть два раскрывающихся списка: один для страны и другой для городов.
Когда я загружаю страницу изначально, я устанавливаю страну по умолчанию, загруженную из реестра пользователей. Затем я загружаю города для этой страны.
Проблема в том, что теперь, когда я меняю раскрывающийся список стран и обновляю страницу, выбранное значение раскрывающегося списка моей страны остается тем же, которое изменилось, но города загружаются из страны по умолчанию.
Я получаю правильное значение на виде из контроллера, но вид не устанавливает его правильно.
Код на мой взгляд выглядит следующим образом
echo $this->Form->input('from_country_code',
array(
'options'=>$countries,
'id'=>'from_country_code',
'label' => __('Country',true),
'selected'=>$selectedCountryCode
)
);
Во-вторых, пожалуйста, объясните мне, как я могу обнаружить, что страница обновлена и сохранить измененные раскрывающиеся значения и не выполнить весь код контроллера действий.
Любая помощь будет принята с благодарностью.
Обновлено -
Вот мой код контроллера
function add() {
$currentUser = $this->Auth->user();
$countryMap = $this->requestAction('/countries/getList/');
$this->set('countries',$countryMap);
$this->set('selectedCountryCode',$currentUser['City']['countriesCode']);
$cityMap = $this->requestAction('/cities/getListByCountryCode/'.$currentUser['City']['countriesCode']);
$this->set('cities',$cityMap);
if(!empty($this->data)) {
if($this->Request->saveAll($this->data)) {
$this->Session->setFlash('The Request was successfully Posted');
$this->redirect(array('controller'=>'users','action'=>'requests'));
} else {
$this->Session->setFlash('The Request was not saved. Please try again');
}
}
}
Обратите внимание, что проблема, с которой я сталкиваюсь, заключается в том, что при обновлении страницы выбранное свойство страны не устанавливается должным образом. Я проверил значение от контроллера, оно приходит правильно, даже если я обновляю страницу.
Я устанавливаю значение выбранной страны в этой переменной @ selectedCountryCode.