跳转到主要内容
coco11 提交于 14 January 2015

  Drupal二次开发的时候,我们经常要使用到多选列表,但是官方默认的多选下拉列表,如下图:

 

    视觉效果不堪入目,经过努力,找到了一款相貌不错的module。下面请看使用方法:

    第一:去官网下载(https://www.drupal.org/project/multiselect)模块,安装。

 

  第二:安装完毕,接下来就要使用到Form API开发中去

  1. <font face="微软雅黑">/**
  2. * hook_menu().
  3. * @author masx
  4. */
  5. function front_menu(){ $items['formexample'] = array(
  6. 'title' => 'View the sample form',
  7. 'page callback' => 'drupal_get_form',
  8. 'page arguments' => array('front_nameform'),
  9. 'access callback' => TRUE,
  10. 'type' => MENU_NORMAL_ITEM
  11.   );
  12.   return $items;
  13. /**
  14. * Define a form. 构造表单
  15. */
  16. function front_nameform() {
  17. $form['user_name'] = array(
  18.   '#title' => t('Your Name'),
  19.   '#type' => 'textfield',
  20.   '#description' => t('Please enter your name.'),
  21. );
  22.   $form['selected'] = array(
  23.        '#type' => 'select',
  24.        '#title' => t('Selected'),
  25.        '#multiple' => 3,
  26.        '#options' => array(
  27.           0 => t('驴儿'),
  28.           1 => t('牛儿'),
  29.           2 => t('狗儿'),
  30.           3 => t('猫儿'),
  31.           4 => t('驴儿'),
  32.           5 => t('牛儿'),
  33.        ),
  34.        '#description' => t('Set this to <em>Yes</em> if you would like this category to be selected by default.'),
  35.    );
  36. $form['submit'] = array(
  37.   '#type' => 'submit',
  38.   '#value' => t('Submit')
  39. );
  40. return $form;
  41. }
  42. /**
  43. * Handle post-validation form submission.处理表单
  44. */
  45. function front_nameform_submit($form, &$form_state) {
  46.    $name = $form_state['values']['user_name'];
  47.    drupal_set_message(t('Thanks for filling out the form, %name',
  48.    array('%name' => $name)));}
  49. }</font>

  第三:显示效果如下:

 

 

Drupal 版本