Drupal 7形成ajax回调节目没有收音机项目

时间:2014-03-17 19:55:20

标签: ajax drupal drupal-7 radio-button drupal-forms

我对drupal 7有问题并形成ajax回调。

我有表单选择项目的简单表单,当我选择带有表单无线电的ajax回调显示项目时。它实际上有效,但我只获得无线电项标题描述,但没有可供选择的选项。

function my_test_form($form, &$form_state) {
  $form['places'] = array(
    '#type' => 'select',
    '#title' => t('Select twitter trends location'),
    '#options' => array('1' => 'item 1', '2' => 'item 2'),
    '#default_value' => 1,
    '#description' => t('Select description'),
    '#ajax' => array(
      'callback' => 'my_test_form_callback',
      'wrapper' => '.form-item.form-type-select.form-item-places',
      'method' => 'append',
      'effect' => 'fade',
    ),
  );
  return $form;
}


function my_test_form_callback($form, &$form_state) {
  $form['trends'] = array(
    '#type' => 'radios',
    '#title' => t('Select'),
    '#options' => array(0 => t('Closed'), 1 => t('Active')),
    '#default_value' => 0,
    '#description' => t('Radios description.'),
  );
  return $form['trends'];
}

打印结果$ form ['趋势'] - > dpm(drupal_render($form['trends']));

<div class="form-item form-type-radios">
  <label>Select trend </label>
  <div class="form-radios"></div>
  <div class="description">Radios description.</div>
</div>

我很乐意接受任何建议。 非常感谢。

1 个答案:

答案 0 :(得分:0)

回调接收内置表单。它只负责返回表单的右侧部分。

function my_test_form_callback($form, &$form_state) {
  return $form['trends'];
}

my_test_form负责为第一次调用和以下所有AJAX调用构建表单。只需将您的条件置于此功能中即可。