dtihe8614 2016-01-13 16:24
浏览 51
已采纳

在表单提交后将值保留在下拉列表中

I am trying to retain the value which is selected in my drop down list, I am currently using:

<?php if ($_POST['day']==1) {echo "selected='selected'"; } ?>

to achieve this, I am just wondering if there is a more effective way of doing this because in my day drop down list I have 32 values including default, month 13 including default and year 51 including default. any suggestions would be appreciated.

  • 写回答

1条回答 默认 最新

  • douyi1855 2016-01-13 16:28
    关注

    Use a for loop.

    For example, using a month with 31 days:

    for($i=1; $i<32; $i++){
        echo "<option value='$i'".($i==$_POST["day"] ? " selected" : null).">$i</option>";
    }
    

    If $_POST["day"]==1, this will output:

    <option value='1' selected>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    <option value='4'>4</option>
    <option value='5'>5</option>
    <option value='6'>6</option>
    <option value='7'>7</option>
    <option value='8'>8</option>
    <option value='9'>9</option>
    <option value='10'>10</option>
    <option value='11'>11</option>
    <option value='12'>12</option>
    <option value='13'>13</option>
    <option value='14'>14</option>
    <option value='15'>15</option>
    <option value='16'>16</option>
    <option value='17'>17</option>
    <option value='18'>18</option>
    <option value='19'>19</option>
    <option value='20'>20</option>
    <option value='21'>21</option>
    <option value='22'>22</option>
    <option value='23'>23</option>
    <option value='24'>24</option>
    <option value='25'>25</option>
    <option value='26'>26</option>
    <option value='27'>27</option>
    <option value='28'>28</option>
    <option value='29'>29</option>
    <option value='30'>30</option>
    <option value='31'>31</option>
    

    Completed:

    //Days
    echo "<select name='day'><option value='default' disabled>Select a day</option>";
    for($i=1; $i<32; $i++){
        echo "<option value='$i'".($i==$_POST["day"] ? " selected" : null).">$i</option>";
    }
    echo "</select>";
    
    //Months
    echo "<select name='month'><option value='default' disabled>Select a month</option>";
    for($i=0; $i<30; $i++){
        echo "<option value='$i'".($i==$_POST["month"] ? " selected" : null).">$i</option>";
    }
    echo "</select>";
    
    //Years
    echo "<select name='year'><option value='default' disabled>Select a year</option>";
    for($i=2016; $i<2056; $i++){
        echo "<option value='$i'".($i==$_POST["year"] ? " selected" : null).">$i</option>";
    }
    echo "</select>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择