我正在尝试使用php在下拉选择中选择以前选择的值。我的代码如下
<?php
$selected_val = "Assistant Professor";
function generateSelect($type = 'text', $name = 'desgntn', $id = 'fac_dsgn', $options = array(), $default) {
$html = '<select type="'.$type.'" name="'.$name.'" id="'.$id.'">';
foreach ($options as $option ) {
if ($option == $default) {
$html .= '<option value='.$option.' selected="selected">'.$option.'</option>';
} else {
$html .= '<option value='.$option.'>'.$option.'</option>';
}
}
$html .= '</select>';
return $html;
}
$list = array("Lecturer", "Assistant Professor", "Associate Professor", "Professor", "Assistant Professor (On Leave)", "Associate Professor (On Leave)", "Professor (On Leave)");
$res = generateSelect('text', 'desgntn', 'fac_dsgn', $list, $selected_val);
echo $res;
?>
但是问题是我总是在html的 option标签中的 value 属性内得到一个多行选项的第一个单词。例如:我正在获得 Assistant Professor 的 Assistant 值标签。有什么办法可以使我始终获得带空格的实际值?
答案 0 :(得分:3)
我相信您忘记了将选项值括在引号中
应该类似于
$html .= '<option value="'.$option.'" selected="selected">'.$option.'</option>';
(请注意$ option周围的双引号)
希望有帮助