Drupal 7 - 依赖于 Ajax 的投递箱和表


Drupal 7 - Ajax dependent drop box and table

>我有三个依赖的dropbox,选择第三个选项后,将生成一个表,并且表的每一行都有删除链接,我用表内容替换所有下拉列表但是新的下拉列表会丢失ajax功能 再生代码如下

$form['ajax_fieldset'] = array(
                                    '#type' => 'fieldset',
                                    '#prefix' => '<div id="ajax_data_wrapper">',
                                    '#suffix' => '</div>',
);

$form['ajax_fieldset'] = array(
                                            '#type' => 'fieldset',
// These provide the wrapper referred to in #ajax['wrapper'] above.
                                            '#prefix' => '<div id="ajax_data_wrapper" style="">',
                                            '#suffix' => '</div>',
);

$form['ajax_fieldset']['country_select'] = array(
                      '#type' => 'select',
                      '#title' => t('Country List'),
                      '#options' => $countries_list,
                        '#ajax' => array(
                                    'wrapper' => 'ajax_data_wrapper',
                                    'callback' => 'get_country_select_callback',
),
);

$form['ajax_fieldset']['lang_select'] = array(
                      '#type' => 'select',
                      '#title' => t('Language List'),
                      '#options' => array(),
);

$form['ajax_fieldset']['audio_select'] = array(
                              '#type' => 'select',
                              '#title' => t('Audio List'),
                              '#options' => array(),
);

$table_data_1=table_creater($urls[2]);
$form['ajax_fieldset']['library_table']=$table_data_1;
$commands = array();
$commands[] = ajax_command_replace("#ajax_data_wrapper",    render($form['ajax_fieldset']));

必须按如下方式使用ajax_deliver()方法,

 $commands = array();
$commands[] = ajax_command_replace("#selected_audio_wrapper", render($form['selected_audio_fieldset']));
$commands[] = ajax_command_invoke(NULL, "call_from_ajax", array("") );
$page = array('#type' => 'ajax', '#commands' => $commands);
ajax_deliver($page);