2012-10-07 65 views
0

我很喜歡這個功能有助於在這裏:​​ PHP - PRE-select drop down option如何在PHP中添加描述來預先選擇下拉菜單?

function generateSelect($name, $options, $optionToSelect) { 
    $html = '<select name="'.$name.'">'; 
    foreach ($options as $option => $value) { 
     if($value == $optionToSelect) 
      $html .= '<option value="'.$value.'" selected="selected">'.$value.'</option>'; 
     else 
      $html .= '<option value="'.$value.'">'.$value.'</option>'; 
    } 
    $html .= '</select>'; 
    return $html; 
} 

/* And then call it like */ 
$html = generateSelect('company', $companies, 'Apple'); 

但是,這並沒有解決與下拉菜單中有時需要一個描述。

例如:

<select name="ranges"> 
<option value="0">All Ranges</option> 
<option value="1">Under $10,000</option> 
<option value="2">$10,000 - $25,000</option> 
<option value="3">$25,000 - $50,000</option> 
<option value="4">$50,000 - $75,000</option> 
<option value="5">$75,000 - $100,000</option> 
<option value="6">$100,000 - $200,000</option> 
<option value="7">$200,000 or more</option> 
</select> 

有什麼需要修改的generateSelect功能,使其能夠分配,例如,以「4」值一起,而是一個描述「$ 75,000名 - $ 100,000」陪伴它? generateSelect函數現在的方式是,它會分配一個值「4」並放置在描述中(因爲缺少更好的術語)也是「4」。

或者有沒有更好的方式來做到這一點在PHP?謝謝!

回答

2

我不知道你描述的意思(也許你可以澄清,你們要包含選項鍵的額外屬性,我註冊的,所以我不能只是作爲一個答案問?)

如果你想例如,以顯示「說明」作爲值屬性的一部分,您只需將它添加到值屬性,像這樣:

$html .= '<option value="'.$value.' ('.$option.')" selected="selected">'.$option.'</option>'; 
+0

謝謝!這個工作通過像這樣創建一個關聯數組: $ options [「All Ranges」] =「0」; $ options ['Under $ 10,000'] =「1」; $ options ['$ 10,000 - $ 25,000'] =「2」; $ options ['$ 25,000 - $ 50,000'] =「3」; $ options ['$ 50,000 - $ 75,000'] =「4」; $ options ['$ 75,000 - $ 100,000'] =「5」; $ options ['$ 100,000 - $ 200,000'] =「6」; $ options ['$ 200,000或更多'] =「7」; – Edward

相關問題