如何将默认选择的值获取到javascript中,并在页面加载时将其传递给php


How to get default selected value into javascript and pass it to php on page load?

在这里,我尝试从下拉列表中选择"等级"并显示"值输出"。这仅在页面加载后手动选择等级才能正常工作。

  1. 我想在页面首次加载时默认获得选定的成绩值输出。如在此形式中,A等级已选择,其输出应显示。

我尝试通过在 html body tag 中使用 onload="get_value()" 函数来获取此值,该函数适用于默认选择的 Grade 值,但它正在不断加载和加载,无法选择另一个选项。

  1. 此外,下拉列表中也只应显示选定的成绩选项,因为它每次仅显示默认选择的选项。

请指导我合适的解决方案。

谢谢

<?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>

这将对您有所帮助。在使用此编码之前,您需要使用 select 查询获取所有数据。获取数据后,您可以使用此代码

<?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>

你可以试试这个:

<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>