Я уверен, что это легко для экспертов jQuery, но я бэкэнд-парень и не могу найти лучший способ сделать это.У меня есть два массива в Drupal, один - список имен представлений, а другой - массив, содержащий список отображений для каждого представления.Вот код для заполнения двух массивов:
//load list of views in to array for select lists
$views = views_get_all_views();
$viewnames = array();
$viewdisplays = array();
foreach ($views as $view) {
$viewnames[$view->name] = $view->name;
foreach ($view->display as $k) {
$id = $k->id;
$title = $k->display_title;
$viewdisplays[$view->name]['id'] = $id;
$viewdisplays[$view->name]['title'] = $title;
}
}
Вот фрагмент формы, с которой я работаю:
$form['view'] = array(
'#type' => 'select',
'#title' => t('Select the view to be used for display'),
'#options' => $viewnames,
);
$form['view_display'] = array(
'#type' => 'select',
'#title' => t('Select the display of the gallery view to be used'),
'#options' => array(),
);
То, что я хочу сделать, - это динамическое заполнениеview_display выберите поле с соответствующими значениями.Если пользователь выбрал «Мое любимое представление» из выбора «Представление», я хочу отобразить массив $ viewdisplays ['My Favorite View'] в качестве # вариантов для поля «view_display».