onchange后,下拉选择值重置

时间:2014-11-07 06:19:48

标签: php mysql dynamic drop-down-menu

我正在尝试使用php / mysql创建动态下拉列表。由于某种原因,所选值不会保持选中状态。下拉菜单重置为初始值。所选值用于填充同一php页面上的表。



  <form action="" method="get">
<select name="user"  onchange="this.form.submit();">
  <?php
do {  
?>
  <option value="<?php echo $row["userid"]?>" selected="selected"><?php echo $row["display_name"]?></option>
  <?php
} while ($row = mysqli_fetch_assoc($result));
  $rows = mysqli_num_rows($result);
  if($rows > 0) {
      mysqli_data_seek($result, 0);
	  $row = mysqli_fetch_assoc($result);
  }
?>
</select>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您必须在代码中添加逻辑。
首先,当您从表单获取数据时,将您的下拉值保存在变量中 例如。 $user = $_GET['user'];
现在在代码中进行以下更改。

<form action="" method="get">
<select name="user"  onchange="this.form.submit();">
  <?php
do {  
?>
  <option value="<?php echo $row['userid']?>" <?php if($user == $row['user_id']) { echo 'selected="selected"' } ?> >
<?php echo $row["display_name"]?></option>
  <?php
} while ($row = mysqli_fetch_assoc($result));
  $rows = mysqli_num_rows($result);
  if($rows > 0) {
      mysqli_data_seek($result, 0);
      $row = mysqli_fetch_assoc($result);
  }
?>
</select>
相关问题