如何将所选项目放在下拉列表中

时间:2014-06-10 09:05:21

标签: javascript php jquery

我在php中创建一个下拉列表。当有人选择某个项目时,我该如何放置所选项目。

我的PHP代码:

<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
            <select name="app" id="dropdown" value="" onchange="this.form.submit()"  ><option>--select-app--</option>
                <?php 
                $sql="select * from application";
                $result=mysqli_query($con, $sql) or die("ereor selecting app ".mysqli_error($con));
                while($row=mysqli_fetch_array($result))
                {
                    $selected = $row['name'];
                    echo "<option id=". $row['id']."value = ".$row['id'].">".$row['name']."</option>";
                }

                echo "</select>";

                ?>

我想要这个:如果我选择一个项目,它会将其显示为已选中。我怎么能这样做

2 个答案:

答案 0 :(得分:1)

你可以在php中这样做

<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
   <select name="app" id="dropdown" value="" onchange="this.form.submit()"  >
       <option>--select-app--</option>
   <?php 
       $sql="select * from application";
       $result=mysqli_query($con, $sql) or die("ereor selecting app ".mysqli_error($con));
       $selected_val = $_POST['app']; //Should be $_GET, $_POST, $_SESSION whatever your selected value is
       while($row=mysqli_fetch_array($result))
       {
           if(trim($row['id']) == trim($selected_val))   //<== Change this line
                $selected = 'selected="selected"';
           else
                $selected = '';
           echo '<option id="'. $row['id'].'" value="'.$row['id'].'" '. $selected.'>'. $row['name'] .'</option>';
          //^Change this line
       }

       echo "</select>";

      ?>

在jQuery中你可以像

那样做
 $('#dropdown').val('<?php echo "My val"; //The value goes here ?>');

答案 1 :(得分:1)

假设您希望在提交表单后保留选择,您可以在while循环中执行此操作:

$selected = (isset($_POST['app']) && $_POST['app'] == $row['id'] ? 'selected' : '');
echo "<option id=".$row['id']." value = ".$row['id']." ".$selected.">".$row['name']."</option>";