codecamp

Smarty:html_select_date函数

{html_select_date}

{html_select_date}是一个 自定义函数,用于创建一个选择日期的下拉框。 它可以显示任何或者全部的年、月、日。 任何不在上面列表中的键值对属性,都会被输出到<select>标签中作为属性和值。

参数名称类型必选参数默认值说明
prefixstringNoDate_下拉框名称的前缀
time时间戳, DateTime, mysql时间戳或任何strtotime()能支持的字符串,或者是数组(当设置了field_array)No当前 时间戳默认选中的日期。如果提供了数组,那么field_array和prefix属性将单独作用在每个数组元素上, 包括年月日。
start_yearstringNo当前年份下拉框开始显示的年份,可以设置一个年份数字或者默认当前年份(+/- N)
end_yearstringNosame as start_year下拉框结束显示的年份,可以设置一个年份的数字或者默认当前年份(+/- N)
display_daysbooleanNoTRUE是否显示日期
display_monthsbooleanNoTRUE是否显示月份
display_yearsbooleanNoTRUE是否显示年份
month_formatarrayNonull月份显示的字符串的数组.如 array(1 => 'Jan', …, 12 => 'Dec')
month_namesstringNo%B月份显示的格式 (strftime)
day_formatstringNo%02d日期显示的格式 (sprintf)
day_value_formatstringNo%d日期值显示的格式 (sprintf)
year_as_textbooleanNoFALSE是否将年份显示为文字
reverse_yearsbooleanNoFALSE是否按倒序显示年份
field_arraystringNonull如果设置了field_array值,则下拉框的值发送的PHP时,将会是 值[Day], 值[Year], 值[Month]的格式。
day_sizestringNonull附加日期select标签的size属性
month_sizestringNonull附加月份select标签的size属性
year_sizestringNonull附加年份select标签的size属性
all_extrastringNonull附加给全部select/input标签附加的属性
day_extrastringNonull附加给日期select/input标签附加的属性
month_extrastringNonull附加给月份select/input标签附加的属性
year_extrastringNonull附加给年份select/input标签附加的属性
all_idstringNonull全部select/input标签的ID值
day_idstringNonull日期select/input标签的ID值
month_idstringNonull月份select/input标签的ID值
year_idstringNonull年份select/input标签的ID值
field_orderstringNoMDY显示各下拉框的顺序
field_separatorstringNo\n显示在各字段之间间隔的字符串
month_value_formatstringNo%m月份值的显示格式(按strftime())默认是 %m
all_emptystringNonull该属性可以在每个下拉框的第一行显示文字,并以作为它的值。 在需要让下拉框的第一行显示请选择 的情况下比较有用。
year_emptystringNonull该属性可以在年份下拉框的第一行显示文字,并以作为它的值。 在需要让年份下拉框的第一行显示请选择年份 的情况下比较有用。 注意你可以使用如-MM-DD的值,作为时间属性来显示没有选中的年份。
month_emptystringNonull该属性可以在月份下拉框的第一行显示文字,并以作为它的值。 注意你可以使用如YYYY--DD的值,作为时间属性来显示没有选中的月份。
day_emptystringNonull该属性可以在日期下拉框的第一行显示文字,并以作为它的值。 注意你可以使用如YYYY-MM-的值,作为时间属性来显示没有选中的日期。

温馨提示:

在日期技巧文章中,介绍了 较有用的php函数来将{html_select_date}值转换成时间戳。

Example 8.16. {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>

Example 8.17. {html_select_date} 第二个地理

{* 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 和 日期技巧.

Smarty:html_radios函数
Smarty:html_select_time函数
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

I.Smarty基础

1.Smart是什么?

II.Smarty模板设计师篇

6.Smarty复合修饰器

9.Smarty配置文件

10.Smarty调试控制台

III. 程序开发者篇

11. Smarty字符集编码

12.Smarty常量

13.Smarty成员变量

14.Smarty成员方法

17.Smarty高级特性

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }