这里我试图从下拉列表中选择Grade并显示Value an output。只有手动选择加载页面后的成绩才能正常工作。
我试图通过在html body标签中使用onload =“get_value()”函数来获取此值,该标签适用于默认选择的Grade值,但它会不断加载和加载,无法选择其他选项。
请指导我合适的解决方案。
谢谢
<?php
if(isset($_GET['grade']))
{
$rest_grade= $_GET['grade'];
echo $rest_grade;
}
else
{
$rest_grade="A";
echo $rest_grade;
}
?>
<html><head>
<script>
function get_value()
{
var get_grade = document.getElementById("grade_id").value;
var url ="?grade="+get_grade;
window.location = url;
}
</script>
</head>
<body>
<form action="" method="post">
<label>Grade</label>
<select name="grade" id="grade_id" onchange="get_value(this.value)">
<option id="1" value="A" selected>A Grade</option>
<option id="2" value="B" >B Grade</option>
<option id="3" value="C" >C Grade</option>
<option id="4" value="D" >D Grade</option>
</select>
</form>
</body>
</html>
答案 0 :(得分:1)
你可以尝试这个:
<select name="grade" id="grade_id" onchange="get_value(this.value)">
<option id="1" <?php if($rest_grade == 'A') { echo 'selected="selected"';}?> value="A" selected>A Grade</option>
<option id="2" <?php if($rest_grade == 'B') { echo 'selected="selected"';}?> value="B" >B Grade</option>
<option id="3" <?php if($rest_grade == 'C') { echo 'selected="selected"';}?> value="C" >C Grade</option>
<option id="4" <?php if($rest_grade == 'D') { echo 'selected="selected"';}?> value="D" >D Grade</option>
</select>
你也可以更简单:
<select name="grade" id="grade_id" onchange="javascript:location.href='page.php?grade='+this.value">
<?php
$rest_grade = (isset($_GET['grade']) && $_GET['grade'] != NULL) ? $_GET['grade'] : 'A';
$id = 1;
foreach (range('A', 'D') as $char) {
$selected = ($char == $rest_grade) ? 'selected="selected"' : "";
echo '<option id="'.$id.'" value="'.$char.'" '.$selected.'>'.$char.' Grade</option>';
$id++;
}
?>
</select>
答案 1 :(得分:1)
这对您有所帮助。 在使用此编码之前,您需要使用选择查询来获取所有数据。 获取数据后,您可以使用此代码
<?php
$select_A = '';
$select_B = '';
$select_C = '';
$select_D = '';
if($rest_grade == 'A'):
$select_A = 'selected="selected"';
elseif($rest_grade == 'B'):
$select_B = 'selected="selected"';
elseif($rest_grade == 'C'):
$select_C = 'selected="selected"';
elseif($rest_grade == 'D'):
$select_D = 'selected="selected"';
endif;
?>
<form action="" method="post">
<label>Grade</label>
<select name="grade" id="grade_id" onchange="get_value(this.value)">
<option id="1" <?php echo $select_A; ?> value="A" selected>A Grade</option>
<option id="2" <?php echo $select_B; ?> value="B" >B Grade</option>
<option id="3" <?php echo $select_C; ?> value="C" >C Grade</option>
<option id="4" <?php echo $select_D; ?> value="D" >D Grade</option>
</select>
</form>