Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal 7-依赖于Ajax的下拉框和表_Php_Jquery_Ajax_Drupal - Fatal编程技术网

Php Drupal 7-依赖于Ajax的下拉框和表

Php Drupal 7-依赖于Ajax的下拉框和表,php,jquery,ajax,drupal,Php,Jquery,Ajax,Drupal,我有三个相关的下拉框,在选择第三个下拉框选项后,将生成一个表,表的每一行都有delete链接,我正在用表内容替换所有下拉列表,但是新的下拉框失去了ajax功能 再生代码如下所示 $form['ajax_fieldset'] = array( '#type' => 'fieldset', '#prefix' => '<div id="aj

我有三个相关的下拉框,在选择第三个下拉框选项后,将生成一个表,表的每一行都有delete链接,我正在用表内容替换所有下拉列表,但是新的下拉框失去了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']));
$form['ajax\u fieldset']=array(
“#类型”=>“字段集”,
“#前缀”=>”,
“#后缀”=>”,
);
$form['ajax\u fieldset']=数组(
“#类型”=>“字段集”,
//它们提供了上面#ajax['wrapper']中提到的包装器。
“#前缀”=>”,
“#后缀”=>”,
);
$form['ajax\u fieldset']['country\u select']=array(
“#键入”=>“选择”,
“#title”=>t(“国家列表”),
“#选项”=>$countries_列表,
“#ajax”=>数组(
“包装器”=>“ajax\u数据\u包装器”,
'callback'=>'get\u country\u select\u callback',
),
);
$form['ajax\u fieldset']['lang\u select']=array(
“#键入”=>“选择”,
“#title”=>t(“语言列表”),
“#选项”=>array(),
);
$form['ajax\u fieldset']['audio\u select']=array(
“#键入”=>“选择”,
“#title”=>t(“音频列表”),
“#选项”=>array(),
);
$table_data_1=table_创建者($url[2]);
$form['ajax\u fieldset']['library\u table']=$table\u data\u 1;
$commands=array();
$commands[]=ajax_command_replace(#ajax_data_wrapper),render($form['ajax_fieldset');

必须使用
ajax\u 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);