0

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

4

1 回答 1

2

我不确定你的描述是什么意思(也许你可以澄清一下;你想要一个包含选项键的附加属性吗?我没有注册,所以除了作为答案我不能问)

例如,如果您想将“描述”显示为 value 属性的一部分,您只需将其附加到 value 属性,如下所示:

$html .= '<option value="'.$value.' ('.$option.')" selected="selected">'.$option.'</option>';
于 2012-10-07T07:53:24.430 回答