【问题标题】:How to get default selected value into javascript and pass it to php on page load?如何将默认选定值获取到 javascript 并在页面加载时将其传递给 php?
【发布时间】:2014-12-01 06:46:55
【问题描述】:

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

  1. 我希望在第一次加载页面时默认选择等级值输出。就像在这个表格中选择了一个等级,它的输出应该会显示出来。

我尝试通过在 html body 标签中使用 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>

【问题讨论】:

    标签: javascript php html


    【解决方案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>
    

    【讨论】:

    • Nikunj:当页面加载并从下拉选项中选择一个选项时,您的代码很好并且工作正常。同样的事情也适用于我的代码。我的查询是我们能否在页面第一次加载时获得在选择选项表单中定义的初始选定值。正如我将 selected 定义为
    • Nikunj:它应该在页面加载时显示值 A。
    【解决方案2】:

    你可以试试这个:

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

    【讨论】:

    • Manish Jangir:当页面加载并从下拉选项中选择一个选项时,您的代码很好并且工作正常。同样的事情也适用于我的代码。我的查询是我们能否在页面第一次加载时获得在选择选项表单中定义的初始选定值。正如我将 selected 定义为
    • Manish Jangir:它应该在页面加载时显示值 A。这是我的担忧。我仅通过使用 获得值 A,但在这种情况下无法从下拉列表中选择其他选项。
    • Manish Jangir:感谢更新,我也在我的代码中更新了类似的东西。
    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2017-04-05
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    相关资源
    最近更新 更多