我需要的是默認爲空的下拉列表。它有一個' - 創建新客戶'字段,然後是一個客戶列表。下面是菜單字段代碼:Drupal 7:不需要的字符在選擇下拉列表
$form['client']['existing'] = array(
'#title' => t('Client'),
'#type' => 'select',
'#options' => array('add' => t('add new client'),$fullName),
'#empty_option' => '',
'#description' => t('Select an existing Client or choose -create new client-'),
);
下面是我用它來填充$全名的函數:
function myForm_get_names()
{
$query = db_select('client', 'c');
$query->fields('c', array('cid','fname','lname'));
$fullName = array();
$result = $query->execute();
foreach ($result as $r)
{
$fullName[$r->cid] = $r->fname . " " . $r->lname;
}
return $fullName;
}
這裏的打印出的$全名
array (
1 => 'tim arthur',
2 => 'val brant',
)
一切的偉大工程。唯一的問題是它插入一個數字後添加新的客戶端。所以它看起來像:
Client:
blank
-add new client-
0
tim arthur
val brant
我打印出來我的選項字段的值:
'#options' => array(
'add' => 'add new client',
0 => array(
1 => 'tim arthur',
2 => 'val brant',
),
),
數量的增加,如果我給-add新的客戶機的數值。例如,如果我這樣做:
'#options' => array ('5' => '-add new client-', $fullNames),
則0變成一個6
我如何能得到我的陣列中的任何想法,不能嵌套。我也嘗試過這一點,但得到了一個錯誤:
'#options' => array (
'add' => '-add new client-',
array_keys($fullNames) => array_values($fullNames)),
謝謝。這解決了它!我會評價你的答案,但我沒有足夠的代表。 – pnkflydgr 2012-02-27 23:23:45
它的確顯示正確,但它沒有攜帶我的客戶端ID作爲值。它返回這個數組作爲我的選擇: 陣列( ''=> '', '添加'=> '-add新的客戶機', 0 => 'VAL布蘭特', 1 =>「TIM阿瑟', 2 =>'bob adams', ), 但我已經用姓命令它們,所以它的值應該是2,1,3 – pnkflydgr 2012-02-28 01:07:58