从页面刷新的下拉列表中选择选定的值

时间:2014-11-28 11:20:18

标签: php html

我正在创建我的表单并添加错误处理。 当页面刷新时,我希望能够在下拉菜单中选择之前选择的值,但我很难让它工作。

是否有人能够提供帮助

 <select value="<? echo $_POST["Bookie"][$i]?>" style="width:100px;" id="Bookie[]" name="Bookie[]">
            <option>Bet365</option>
             <option>Betbright</option>
             <option>Betfair</option>
            <option>Betfred</option>
            <option>BetVictor</option>
            <option>Boylesports</option>
            <option>Bwin</option>
            <option>Centrebet</option>
            <option>Coral</option>
            <option>Ladbrokes</option>
            <option>Paddy Power</option>
            <option>Pinnacle Sports</option>
            <option>SBOBET</option>
            <option>Sky Bet</option>
            <option>Stan James</option>
            <option>unibet</option>
            <option>William Hill</option>
        </select>

2 个答案:

答案 0 :(得分:0)

只需使用$_SESSION['convert']

首次打开页面时,您将检查会话是否存在:

session_start();
$convert = isset($_SESSION['convert'])?$_SESSION['convert']:"Bet365";

所以,当你写下你的下拉列表时:

<form>
   <select>
      <option value="Bet365" <?php echo $convert=='Betfair'?'selected':''?>>Bet365</option>
      <option value="Coral" <?php echo $convert=='Coral'?'selected':''?>>Coral</option>
   </select>
</form>

然后在表单提交上,您将选择实际的转换并将其保存在会话中:

session_start();
$convert = $_POST['convert'];  
$_SESSION['convert] = $convert;

last selected option after refresh the page

答案 1 :(得分:0)

您必须为每个<option>代码重复此操作,并根据需要更改Paddy Power

<option<?php if(!empty($_POST) && $_POST['Bookie'][$i] == 'Paddy Power') echo ' selected="selected"';?>>Paddy Power</option>

如果您的<form>代码有method="post",那么上述代码段就可以了。否则,您需要将上面的$_POST更改为$_GET

此外,请从value="<? echo $_POST["Bookie"][$i]?>"标记中删除<select>,因为该属性不受支持。 selected attribute用于在<select>列表中设置所选选项。