仅在html

时间:2018-12-28 12:01:24

标签: php html

我正在尝试使用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 值标签。有什么办法可以使我始终获得带空格的实际值?

1 个答案:

答案 0 :(得分:3)

我相信您忘记了将选项值括在引号中

应该类似于

$html .= '<option value="'.$option.'" selected="selected">'.$option.'</option>';

(请注意$ option周围的双引号)

希望有帮助