У меня есть 3 выбора на странице, 2-й и 3-й выбор должен заполняться опциями в зависимости от значения, выбранного в первом выборе.Например: первый выбор имеет список стран, если я выберу страну A из этого выбора, 2-й выбор заполнится городами этой страны, 3-й выбор заполнится, я не знаю,Самые популярные имена в стране.
Я хочу реализовать это с помощью AJAX, но поскольку сайт написан с использованием Smarty, мне трудно.Каждый выбор заполняется массивом, который назначается из php.Я хотел бы как-то изменить значения 2-го и 3-го массива, не перезагружая страницу, в зависимости от идентификатора, который я получаю из 1-го выбора.
Я попытался запросить страницу, которая присваивает значения smarty, и попытался изменить массивы, но это не сработало во внешнем интерфейсе.Есть идеи?
РЕДАКТИРОВАТЬ: Код выглядит примерно так:
$countries = Country::getCountries();
$cities = City::getCities($country_id); //the parameter is not necessary
$names = Name::getNames($country_id); //the parameter is not necessary
$smarty->assign("countries",$countrires);
$smarty->assign("cities",$cities);
$smarty->assign("names",$names);
//display template etc
на странице шаблона
<select name="countries">
{foreach from=$countries item=country}
<option value="{$country.id}">{$country.name}</option>
{/foreach}
</select>
и 2 другихвыбирает выглядят одинаково.