Php Drupal 7-依赖于Ajax的下拉框和表
我有三个相关的下拉框,在选择第三个下拉框选项后,将生成一个表,表的每一行都有delete链接,我正在用表内容替换所有下拉列表,但是新的下拉框失去了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
$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);