※ 引述《cat99961 (阿汤)》之铭言:
: 我想要写一个下拉式选单,是1~12月的下拉式选单,但是默认是当月
: 于是写了以下的程式码
: <?php
: $j= date('m');?>
: <select name="month">
: <option value=<?php if((int)$j==1) echo '1 selected';?>>1</option>
: <option value=<?php if((int)$j==2) echo '2 selected';?>>2</option>
: <option value=<?php if((int)$j==3) echo '3 selected';?>>3</option>
: <option value=<?php if((int)$j==4) echo '4 selected';?>>4</option>
: <option value=<?php if((int)$j==5) echo '5 selected';?>>5</option>
: <option value=<?php if((int)$j==6) echo '6 selected';?>>6</option>
: <option value=<?php if((int)$j==7) echo '7 selected';?>>7</option>
: <option value=<?php if((int)$j==8) echo '8 selected';?>>8</option>
: <option value=<?php if((int)$j==9) echo '9 selected';?>>9</option>
: <option value=<?php if((int)$j==10) echo '10 selected';?>>10</option>
: <option value=<?php if((int)$j==11) echo '11 selected';?>>11</option>
: <option value=<?php if((int)$j==12) echo '12 selected';?>>12</option>
: </select> 月
: 程式码执行结果有符合需求,但是我觉得太长,想要用循环改写,于是改成
: <?php
: $j= date('m');?>
: <select name="month">
: <?php for($i=1;$i<=12;$i++){?>
: <option value=<?php if((int)$j==(int)$i) echo $i.'selected';?>>
: <?php echo $i;?></option><?php }?></select> 月
: 结果默认不是选择当月,而是由"1月"为默认,请问各位高手出了什么问题吗?
: 该如何改呢?
: 感激不尽....
<?php
$j=(int) date('m');
echo '<select name="month">';
for($i=1;$i<=12;$i++){
$sel=$i==$j?'selected="selected"':'';
echo '<option value="'.$i.'" '.$sel.'>'.$i.'</option>';
}
echo '</select>月';
应该这样就可以了。
?>