我尝试以表格的形式打印drupal的'select option'元素。我认为drupal_render不应用#default_value。除#default_value不应用外,其他一切都可以。
问题出在哪里?有人知道我该怎么做吗?#default_value接受string值吗?

,这是我代码的伪:

function test_menu(){
$items=array();

    $items['admin/config/regional/test']=array(
    'title' => 'test',
    'description' => t('test'),
    'page callback' =>'drupal_get_form',
    'page arguments' => array('test_function'),

);
$items[]=array();
return $items;
}


function test_function(){
 $header = array
  (
  'test1' => t('test1'),
  'test2'=> t('test2'),
  );
 $a=(1,2,3);
 $$options=array();
 foreach($a as $i=>$v)
  {
    $f['type'] = array(
   '#type' => 'select',
   '#options' => array(1,2,3,4),
   '#default_value'=>1,
    );
$options += array($name=>array( 'test1' => $v,
   'test2'=> drupal_render($f['type']) ,
  }
   $form['table'] = array
   (
   '#type' => 'tableselect',
   '#header' => $header,
   '#options' => $options,
   '#multiple' => FALSE
   //'#empty' => t('No users found'),
   );
   $form['submit'] = array
       (
   '#type' => 'submit',
   '#value' => t('Submit'),
    );
   return $form;
 }

我测试了textfield,但它也无法正常工作,并且在drupal_render中不接受#default_value
    $f['test3']=array(
    '#type'=>'textfield',
    '#title'=>'test3',
    '#default_value' =>'aaa',
);

我想这是因为使用drupal_render。有人有解决方案吗?

最佳答案

在drupal_get_form中使用的Drupal_render中,未设置#default_value的use必须使用#value代替它。

$f['type'] = array(
'#type' => 'select',
'#options' => drupal_map_assoc(array('1','2','3','4')),
'#value'=> '1',
);

关于drupal-7 - drupal #default_value不适用于drupal_render的选择选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11554404/

10-10 00:33