跳至内容

{html_select_date}

{html_select_date} 是一个 自定义函数,该函数创建日期下拉列表。它可以显示任何或所有这些:年、月和日。不在下面列表中的所有参数都作为日期、月份和年份的 <select> 标签内的名称/值对进行打印。

属性

属性名称 默认值 说明
前缀 Date_ 以什么作为变量名称前缀
时间 预先选择哪个日期/时间。接受时间戳、DateTime 对象或任何可被 strtotime() 解析的字符串。如果提供一个数组,则使用属性字段数组和前缀来识别从中提取年份、月份和日期的数组元素。忽略此参数或提供一个错误的值将选择当前日期。要禁止日期选择,请传入 NULL。
起始年 当前年份 下拉列表中的第一个年份,可以是年份数字,也可以相对于当前年份(+/- N)
结束年 与起始年相同 下拉列表中的最后一个年份,可以是年份数字,也可以相对于当前年份(+/- N)
显示日期 TRUE 是否显示日期
显示月份 TRUE 是否显示月份
显示年份 TRUE 是否显示年份
月份名称 要显示月份的字符串列表。数组(1 => '一月',...,12 => '十二月')
月份格式 \%B 月份应该采用的格式(strftime)
day_format \%02d 日期输出应该采用的格式(sprintf)
day_value_format \%d 日期值应该采用的格式(sprintf)
year_as_text FALSE 是否将年份显示为文本
reverse_years FALSE 按相反的顺序显示年份
field_array 如果指定了名称,则下拉框将绘制出来,结果将以 name[Day]、name[Year] 和 name[Month] 的形式返回到 PHP。
day_size 如果指定了,则会将 size 属性添加到选择标记
month_size 如果指定了,则会将 size 属性添加到选择标记
year_size 如果指定了,则会将 size 属性添加到选择标记
all_extra 如果指定了,则将额外的属性添加到所有选择器/输入标记
day_extra 如果指定了,则将额外的属性添加到选择器/输入标记
month_extra 如果指定了,则将额外的属性添加到选择器/输入标记
year_extra 如果指定了,则将额外的属性添加到选择器/输入标记
all_id 如果指定了,则将 ID 属性添加到所有选择器/输入标记
day_id 如果指定了,则将 ID 属性添加到选择器/输入标记
month_id 如果指定了,则将 ID 属性添加到选择器/输入标记
year_id 如果指定了,则将 ID 属性添加到选择器/输入标记
field_order MDY 显示字段的顺序
field_separator \n 不同字段之间打印的字符串
month_value_format \%m 月份值的 strftime() 格式,默认值为月份数字的 %m。
all_empty 如果提供了该值,则任何选择框的第一个元素都将具有此值作为其标签,"" 作为其值。这有助于使选择框读取“请选择”,例如。
year_empty 如果提供了该值,则年份选择框的第一个元素都将具有此值作为其标签,"" 作为其值。这有助于使选择框读取“请选择年份”,例如。请注意,可以使用“-MM-DD”等值作为时间属性来指示未选择年份。
month_empty 如果提供了该值,则月份选择框的第一个元素都将具有此值作为其标签,"" 作为其值。请注意,可以使用“YYYY--DD”等值作为时间属性来指示未选择月份。
day_empty 如果提供了该值,则日期选择框的第一个元素都将具有此值作为其标签,"" 作为其值。请注意,可以使用“YYYY-MM-”等值作为时间属性来指示未选择日期。

注意

日期提示页面 上有一个有用的 php 函数,用于将 {html_select_date} 表单值转换为时间戳。

实例

模板代码

{html_select_date}

这将输出

<select name="Date_Month">
    <option value="1">January</option>
    <option value="2">February</option>
    <option value="3">March</option>
      ..... snipped .....
    <option value="10">October</option>
    <option value="11">November</option>
    <option value="12" selected="selected">December</option>
</select>
<select name="Date_Day">
    <option value="1">01</option>
    <option value="2">02</option>
    <option value="3">03</option>
      ..... snipped .....
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13" selected="selected">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
      ..... snipped .....
    <option value="29">29</option>
    <option value="30">30</option>
    <option value="31">31</option>
</select>
<select name="Date_Year">
    <option value="2006" selected="selected">2006</option>
</select>
{* start and end year can be relative to current year *}
{html_select_date prefix='StartDate' time=$time start_year='-5'
       end_year='+1' display_days=false}

以 2000 为当前年份的输出

<select name="StartDateMonth">
    <option value="1">January</option>
    <option value="2">February</option>
    .... snipped ....
    <option value="11">November</option>
    <option value="12" selected="selected">December</option>
</select>
<select name="StartDateYear">
    <option value="1995">1995</option>
    .... snipped ....
    <option value="1999">1999</option>
    <option value="2000" selected="selected">2000</option>
    <option value="2001">2001</option>
</select>

另请参阅 {html_select_time}date_format$smarty.now日期提示页面