php - 如何将值设置为
问题描述
解决方案
您需要使用数组构建您的选项。然后,当您循环选项时,您可以与答案进行比较,如果匹配,则设置“已选择”。
<?php
$answer = "C"; // get from database this is just example
//need to build option in array, so that can make the comparison
$options = [
'A'=> 'A',
'B'=> 'B',
'C'=> 'C',
'D'=> 'D'
];
//build option html
$html_options = '';
foreach($options as $value => $label){
$selected = ($value == $answer) ? 'selected' : '';
$html_options .= "<option value='$value' $selected>$label</option>";
}
echo"
<label for='answer'> Answer :</label>
<select name='answer' id='answer'>$html_options</select>
";
?>
如果你不想使用 php 来设置值,那么也可以使用 javascript 来设置
<?php
$answer = "C"; // get from database this is just example
echo"
<label for='answer'> Answer :</label>
<select name='answer' id='answer' value ='$answer'>
<option value='A'> A </option>
<option value='B'> B </option>
<option value='C'> C </option>
<option value='D'> D </option>
</select>
";
?>
<script
src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs="
crossorigin="anonymous"></script>
<script>
var ANSWER = '<?=$answer?>';
$(function(){
$('#answer').val(ANSWER)
})
</script>
推荐阅读
- c# - 了解 C# 中的内存缓存
- c++11 - Boost asio thread_pool join 不等待任务完成
- c++ - 为什么分离模板定义/声明有时有效
- javascript - Cloud Function 查询 Firestore 但返回空数组
- node.js - Nest.js 全局守卫
- regex - 如何使用 sed 拆分字符串?
- c++ - 如何在 openGL c++ 的同一个窗口中绘制两个对象?
- vb.net - 检查数组列表中是否已存在对象属性
- android - 在应用程序中创建等效的网页。安卓
- javascript - Html php Javascript 类不能动态工作。由阿贾克斯