[英]PHP: selected value in dropdown box
我正在做一个下拉框,我说我们有“option1”和“option2”,dropbox选择(标记)“option1”,然后我们选择“option2”,我希望它标记“option2”在下拉框中,但它没有标记它。
我试图避免在这个上做javascript,所以我想知道我是否只能在PHP上做到这一点。
建议? 谢谢!
编辑。 那么问题是我在构建下拉菜单之前不知道我有多少选项。 我从数据库中的表中生成一个数组,并根据该数据生成选项。 码:
<select name="department">
<?php foreach(bloggModelControler::getDepartments($_SESSION['user']) as $tempDepartment){
if(strcmp($tempDepartment, $department) == 0){
$selected = ".selected='selected'.";
}else{
$selected = ".selected=''.";
}
$dropdown = "<option \"$selected\" value=\"$tempDepartment\">\"$tempDepartment\" Selected</option>";
echo $dropdown;
}?>
</select>
和$部门:
<?php
if(isset($_POST['department'])){
$department = $_POST['department'];
}else{
$departments = bloggModelControler::getDepartments($_SESSION['user']);
$department = $departments[0];
}
?>
基于更新的问题更新的答案(包含的代码)
不要将句点放在“选定”的文本变量中。
if(strcmp($tempDepartment, $department) == 0){
$selected = "selected='selected'";
}else{
$selected = "selected=''";
}
以前的答案
在为“选择”框生成HTML的PHP代码中,您必须指定选择了哪个选项。
例如:
<select name="selectbox">
<option <?php if ($_POST['selectbox'] == 'option1') echo 'selected="selected"';?>>option1</option>
<option <?php if ($_POST['selectbox'] == 'option2') echo 'selected="selected"';?>>option2</option>
</selected>
替代语法:
<select name="selectbox">
<option <?= ($_POST['selectbox'] == 'option1')? 'selected="selected"' : '';?>>option1</option>
<option <?= ($_POST['selectbox'] == 'option2')? 'selected="selected"' : '';?>>option2</option>
</selected>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.