选项中的默认值

时间:2015-08-10 16:25:36

标签: php forms html-select options

我创建了一个html表单,其中包含了包含该月日期的选项。当我想在页面上加载它时将今天的日期设置为选中时会出现问题。 我有这个代码,但它不起作用,今天只显示,本月的其他日子都没了! $day1是今日日期函数的日期。

<select id="day" name="day">   

<?php  for ($i=1 ; $i<32 ; $i++){
    if($i == $day1){?>
        <option value="<?php echo $i ?>" selected> <?php echo $i ?></option>
    <?php}else{ ?>
        <option value="<?php echo $i ?>"  > <?php echo $i ?></option>
    <?php }} ?>
</select>

3 个答案:

答案 0 :(得分:3)

使用内联IF + echo和点运算符

可以轻松实现
<select id="day" name="day">   
<?php  
    $day1=date('d');
    for ($i=1 ; $i<32 ; $i++){
            echo '<option value="'.$i.'" '. ($i == $day1  ? 'selected' : '')  . '>'.$i.'</option>';
    }
?>
</select>

答案 1 :(得分:3)

其他日子已经过去,因为你没有回应它。

<select id="day" name="day">   
<?php $day1=date('d'); ?> 
<?php  for ($i=1 ; $i<32 ; $i++){
    if($i === $day1){?>
        <option value="<?php echo $i ?>" selected> <?php echo $i ?></option>
    <?php }else{ ?>     
        <?php echo '<option value="'.$i.'">'.$i.'</option>'; ?>
    <?php }} ?>
</select>

答案 2 :(得分:2)

尝试在PHP开始标记和“} else {”之间添加一个空格。这对我有用:

HashSet

实际上,除了用户贡献之外,我在文档中找不到任何有关此内容的信息:

  

我想强调一下开场标签是   “<?php $day1=date('d'); ?> <select id="day" name="day"> <?php for ($i=1 ; $i<32 ; $i++){ if($i == $day1){?> <option value="<?php echo $i; ?>" selected> <?php echo $i; ?></option> <?php }else{ ?> <option value="<?php echo $i; ?>" > <?php echo $i; ?></option> <?php }} ?> </select> ”,而不仅仅是“<?php[whitespace]”。