0

拜托,我对 php 有点陌生,请多多包涵。我有一个选择框...

<select name="criteria">
        <option value="1">Student ID</option>
        <option value="2">Firstname </option>
        <option value="3">Lastname</option>
        <option value="6">All</option>
    </select>

    <input name="searchvalue" type="text">
    <input name="search" type="submit" value="Search">

当我使用特定选项搜索时,在发布请求之后,所选选项通常默认为学生 ID。但我希望它仍然是我搜索的选项。任何建议将不胜感激。

4

3 回答 3

1

老实说,我会稍微调整您的选择代码,以便进行更多动态编辑。

<?php 
$options = array('1'=>'Student ID', '2'=>'Firstname', '3'=>'Lastname', '6'=>'All');     
?>

<select name="criteria">

<?php 
foreach($options as $key=>$value){
    $addtItem = '';
    if(isset($_POST['criteria']) && $_POST['criteria']==$key){
        $addtItem = 'selected="selected"';
    }
    echo('<option '.addtItem.' value="'.key.'">'.$value.'</option>');
}

?>

</select>

通过这种方式,您可以快速添加更多值,而无需大量重复代码..

于 2012-12-11T16:32:22.140 回答
0
<select name="criteria">
    <option value="1" <?php if ($_POST["criteria"] == 1) echo "SELECTED"; ?>>Student ID</option>
    <option value="2" <?php if ($_POST["criteria"] == 2) echo "SELECTED"; ?>>Firstname </option>
    <option value="3" <?php if ($_POST["criteria"] == 3) echo "SELECTED"; ?>>Lastname</option>
    <option value="6" <?php if ($_POST["criteria"] == 6) echo "SELECTED"; ?>>All</option>
</select>

真的很丑,但那行得通。

于 2012-12-11T16:25:15.280 回答
0

需要检查$_POST数组并选择对应的select项

<?php 
$criteria = isset($_POST['criteria']) ? $_POST['criteria']: 0; 
?>
<select name="criteria">
    <option value="1" <?php echo ($criteria == '1') ? 'selected="selected"': ''; ?>>Student ID</option>
    <option value="2" <?php echo ($criteria == '2') ? 'selected="selected"': ''; ?>>Firstname </option>
    <option value="3" <?php echo ($criteria == '3') ? 'selected="selected"': ''; ?>>Lastname</option>
    <option value="6" <?php echo ($criteria == '6') ? 'selected="selected"': ''; ?>>All</option>
</select>
于 2012-12-11T16:26:07.790 回答