【问题标题】:how to keep selected item in selectbox after page refreshing in PHP如何在PHP中刷新页面后将所选项目保留在选择框中
【发布时间】:2017-05-30 10:19:54
【问题描述】:

我在 PHP 中做了很多选择框,我想在刷新页面后保持选中的项目。 (when selecting same select box or another) here is my code.

$selectbox='<select class="form-control" name="estate_id" onchange="this.form.submit()" style="width: 200px" >';

$est_name = $client ->call('get_estate');  // call method from web services
$_SESSION['estname'] = array();
$_SESSION['estname'] = $est_name;
$count = count($_SESSION['estname']);

$i = 0;
foreach ($_SESSION['estname'] as $row)
 {
    $id   = $_SESSION['estname'][$i]['est_id'];
    $name = $_SESSION['estname'][$i]['est_name'];
    if($id == isset($_POST['estate_id']))
     {
        $isSelected = ' selected="selected"'; 
     } 
     else {
        $isSelected = ''; 
     }
     $selectbox.= "<option value=".$id.$isSelected.">".$name."</option>";
         $i++;
}
$selectbox.='</select>';
echo $selectbox;

【问题讨论】:

  • 您可能需要本地存储或其他东西。刷新不会向服务器发送数据(表单数据)
  • 您能把$isSelected 变量放在选项值之外吗?并检查它。
  • @Jelmergu ... 确实如此,浏览器会在页面加载时重新发送他们拥有的数据 - 因此在大多数带有 POST 表单的浏览器中都会弹出关于表单重新提交的警告。不发送数据,授予。

标签: php


【解决方案1】:
<select name="name">
   <option <?php if ($_GET['name'] == 'a') { ?>selected="true" <?php }; ?>value="a">a</option>
   <option <?php if ($_GET['name'] == 'b') { ?>selected="true" <?php }; ?>value="b">b</option>
</select>

【讨论】:

  • 我解决了我的问题,就像我做的小改动一样。谢谢大家
猜你喜欢
  • 1970-01-01
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 2017-03-23
  • 2022-06-10
  • 2021-03-07
相关资源
最近更新 更多