0

我可以(终于!!!)设置查询以返回在 Drupal 7 中的可折叠字段集中设置的复选框的结果-但是当我尝试将其放入 tableselect 时,我没有得到任何结果。有人可以检查一下这段代码,看看你能不能告诉我为什么?我也有两个结果的屏幕截图-但由于我是新来的,因此不允许我发布它。

$form = array();

$secnum = 1;
  $result = db_query('SELECT s.secser_id, s.ser_name FROM {secser} s WHERE s.sec_num = :secnum', array(':secnum' => $secnum));
  $options = array();
  foreach ($result as $record) {
    $options[$record->secser_id] = $record->ser_name;
  }

$form['secser']['1'] = array(
  '#title' => t('Basic Sanitation'),
  '#type' => 'fieldset',
  '#collapsible' => TRUE,
);

$form['secser']['1']['secser'] = array(
  '#title' => t('Choices'),
  '#type' => 'checkboxes',
  '#multiple' => TRUE,
  '#options' => $options,
  '#description' => t('choose!'),
);

$form['secser']['2'] = array(
  '#title' => t('Community Systems'),
  '#type' => 'fieldset',
  '#collapsible' => TRUE,
  );

  $secnum = 2;
  $result = db_query('SELECT s.secser_id, s.ser_name FROM {secser} s WHERE s.sec_num = :secnum', array(':secnum' => $secnum));
  $opt2 = array();
  foreach ($result as $record) {
    $opt2[$record->secser_id] = $record->ser_name;
  }

$header = array(
  'ser_name' => t('Choose Service(s)'),
  );

$form['secser']['2']['secser'] = array(
    '#type' => 'tableselect',
    '#title' => t('Community Systems'),
    '#header' => $header,
    '#options' => array($opt2),
    '#multiple' => TRUE,
    );
4

1 回答 1

0

我没有尝试运行您的代码,但看起来您的选项是一个包含另一个数组的数组。

#options' => array($opt2),

因为 $opt2 是一个数组,所以应该是:

#options' => $opt2,

与您在复选框中设置选项的方式相同

于 2012-05-17T14:01:43.537 回答