dta38159 2014-07-18 12:30
浏览 20
已采纳

如何在php中提交后保持动态选择的值

I have this code

<select id="menu" name="department">
    <?php
        //Get the departments and create the select menu dynamically
        include 'connect.php';
        $query = "SELECT* FROM department;";
        $result = mysqli_query($link,$query);
        $html = "";
        if($result){
            while ($obj = mysqli_fetch_object($result)) {
                $html.='<option value="'.$obj->dept_name.'">'.$obj->dept_name.'</option>';
            }
        } else {$html.='<p style="color:red;text-align:center">Θεμελιώδες λάθος κατά την ανάκτηση των τμημάτων</p>';}
            print $html;    
            mysqli_close($link);
        ?>
        </select>
        <?php
            if (isset($_POST['menu']))
                print '<script type="text/javascript">document.getElementById("menu").value = "'.$_POST['menu'].'";</script>';
        ?>

which is nested in a form tag that creates dynamically a select menu and I want to keep the selected value after the submission. It doesn't work. Any ideas why?

  • 写回答

1条回答 默认 最新

  • dongqin1819 2014-07-18 12:38
    关注

    Where you are creating options dynamically add code to retain post value for select,something like,

    $html .= '<option value="'.$obj->dept_name.'"';
    
    if(isset($_POST['department']) && $_POST['department'] == $obj->dept_name){
      $html .= ' selected ';
    }
    
    $html .= '>'.$obj->dept_name.'</option>';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?