我正在尝试实现 AJAX 回调以根据另一个下拉列表的值更改下拉列表选项。我已经查看了在线示例和示例模块中的示例。我正在尝试在其中一个管理页面表单上实现该示例。
为简化起见,我尝试实现以下目标:只需在第一个下拉列表更改后用随机数更改第二个下拉列表的标题。请注意,我使用的是字段集合字段。
function myaction_form_alter(&$form, &$form_state, $form_id) {
$form['field_programme_permission']['und']['0']['field_programme']['und']['#ajax']=array(
'event' => 'change',
'callback' => 'programmes_ajax_callback',
'method' => 'replace',
'wrapper' => 'countries_wrapper'
);
$form['field_programme_permission']['und']['0']['field_countries']['und']['#title']=rand(1,100);
return $form;
}
function programmes_ajax_callback($form, $form_state) {
return $form['field_programme_permission']['und']['0']['field_countries'];
}
就好像programs_ajax_callback 根本没有被触发。我看到这个 Drupal AJAX 请等待消息,但实际上什么也没发生。奇怪的是,如果我提交表单并且它没有通过验证,我什至看不到这个 Drupal AJAX“请稍候”消息。我已经尽可能地简化了代码以试图找出问题所在,但它没有工作......
有任何想法吗?