如何将默认选择的值导入javascript并在页面加载时将其传递给php?

时间:2014-12-01 06:46:55

标签: javascript php html

这里我试图从下拉列表中选择Grade并显示Value an output。只有手动选择加载页面后的成绩才能正常工作。

  1. 我想在第一次加载页面时默认选择Grade值输出。在此表格中,选择了等级并显示其输出。
  2. 我试图通过在html body标签中使用onload =“get_value()”函数来获取此值,该标签适用于默认选择的Grade值,但它会不断加载和加载,无法选择其他选项。

    1. 此外,只有选定的成绩选项应显示在下拉列表中,因为它每次只显示默认选定的选项。
    2. 请指导我合适的解决方案。

      谢谢

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

2 个答案:

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