我喜欢这里贡献的函数: PHP - PRE-select drop down option
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 中做到这一点?谢谢!