$months = array();
for($i=1;$i<=10;$i++)
{
$months[] = date('Y-m', mktime(0,0,0,date('m')-3+$i,1,date('Y')));
}
//////////////////////////////////////////////////////////////////////<select name="monthes">
<!-- {@months} -->
<option value="{.value_}" > {.value_}</option>
<!--{/}-->
</select>这样为什么下拉框的第一个是已经selected的(即显示的月份呢?)
比如 该页面打开时是 年月 (2011-9)  
2011-9
2011-07
2011-08
2011-09
2011-10
2011-11
2011-12
2012-01
2012-02
为什么下拉框里的第一个是2011-9呢?而不是从7月份开始。

解决方案 »

  1.   

    给第一个option设一个selected="selected"
      

  2.   

    <!--{@months}-->
    <option value="{.value_}" selected="selected" > {.value_}</option>
    <!--{/}-->
    这样的话,会变成如下年月 (2011-9)  
    2011-07
    2011-08
    2011-09
    2011-10
    2011-11
    2011-12
    2012-01
    2012-02
    2011-9跑到下面去了,怎么把这个2011-9 给去掉?
      

  3.   

    就是我选择哪个月份,最后下拉框里的最后一个就会变成我选择的那个月份。比如上面我选择了9月分,下拉框的最后一个也是9月份。 代码如下<!--{@months}-->
    <option value="{.value_}" selected="selected" > {.value_}</option>
    <!--{/}-->
      

  4.   

    $months = array();
    for($i=1;$i<=10;$i++)
    {
    $months[] = date('Y-m', mktime(0,0,0,date('m')-3+$i,1,date('Y')));
    }数据是这样生成的
      

  5.   

    $('select[name=monthes]>option[value="2011-12"]').attr('selected','selected')这句该怎么改啊?比如$('select[name=monthes]>option[value="year+'-'+month"]').attr('selected','selected') 这里的year和month是
    var year = $(':hidden[name=year]').val();
    var month = $(':hidden[name=month]').val()<10?'0'+$(':hidden[name=month]').val():$(':hidden[name=month]').val(); 
    这么过来的