ajax 表头设置,填充#options,在Ajax回调函数中选择表头#

zbAQW.png 我想要做的是在ajax按下按钮时显示一个带有复选框的表格。该表应该最初隐藏并通过函数调用即时填充。 如果最初予加载$选项1与一些虚拟值,在此之后AJAX调用它抛出一个错误saying-填充#options,在Ajax回调函数中选择表头#

说明:未定义指数:红色theme_tableselect()( d的线3285:\瓦帕\ WWW \ drupal7 \包括\ form.inc)。

其中'red'是虚拟行值的索引,#options不会使用新值填充。有什么办法让这个工作?

下面是形式 -

$form['mltag_new']['tag'] = array(

'#type' => 'button',

'#value' => t("Suggest Tags"),

'#ajax' => array(

'callback' => 'mltag_suggest_tags_ajax',

'wrapper' => 'mltag_suggest_tags_table_div',

'effect' => 'slide',

),

);

$options1 = array(); //initial dummy values

$options1['red']['tag'] = "A red row";

$options1['red']['chi'] = "A red row";

$form['mltag_new']['myselector'] = array (

'#type' => 'tableselect',

'#title' => 'My Selector',

'#header' => $header,

'#options' => $options1,

'#prefix' => '

',

'#suffix' => '

',

);

return $form;

和Ajax回调看起来像这 -

function mltag_suggest_tags_ajax($form, $form_state) {

//$content has some content

//pass the content to a function

include_once 'includes/content_tag.inc';

$tags = mltag_content_tag($content, variable_get('algo_type'), 20);

if (empty($tags)) {

$output .= t('Content is insufficient to generate Tags using this algorithm.
Please choose other algorithm from Settings Page.');

$form['mltag_new']['sample_text']['#markup'] = $output;

return $form['mltag_new']['sample_text'];

}

else {

$algo = variable_get('algo_type');

if ($algo == 1) {

$header = array(

'tag' => t('Tag'),

'frequency' => t('Frequency'),

);

$options = array();

foreach ($tags as $key => $value) {

$options[$key] = array(

'tag' => $key,

'frequency' => $value,

);

}

}

elseif ($algo == 2) {

$header = array(

'tag' => t('Tag'),

'chi' => t('Chi Square Value'),

);

$options = array();

foreach ($tags as $key => $value) {

$options[$key] = array(

'tag' => $key,

'chi' => $value,

);

}

}

$form['mltag_new']['myselector']['#header'] = $header;

$form['mltag_new']['myselector']['#options'] = $options;

return $form['mltag_new']['myselector'];

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值