Smarty:html_select_date函數(shù)

2018-10-17 11:58 更新

{html_select_date}

{html_select_date}是一個(gè) 自定義函數(shù),用于創(chuàng)建一個(gè)選擇日期的下拉框。 它可以顯示任何或者全部的年、月、日。 任何不在上面列表中的鍵值對(duì)屬性,都會(huì)被輸出到<select>標(biāo)簽中作為屬性和值。

參數(shù)名稱類型必選參數(shù)默認(rèn)值說(shuō)明
prefixstringNoDate_下拉框名稱的前綴
time時(shí)間戳, DateTime, mysql時(shí)間戳或任何strtotime()能支持的字符串,或者是數(shù)組(當(dāng)設(shè)置了field_array)No當(dāng)前 時(shí)間戳默認(rèn)選中的日期。如果提供了數(shù)組,那么field_array和prefix屬性將單獨(dú)作用在每個(gè)數(shù)組元素上, 包括年月日。
start_yearstringNo當(dāng)前年份下拉框開(kāi)始顯示的年份,可以設(shè)置一個(gè)年份數(shù)字或者默認(rèn)當(dāng)前年份(+/- N)
end_yearstringNosame as start_year下拉框結(jié)束顯示的年份,可以設(shè)置一個(gè)年份的數(shù)字或者默認(rèn)當(dāng)前年份(+/- N)
display_daysbooleanNoTRUE是否顯示日期
display_monthsbooleanNoTRUE是否顯示月份
display_yearsbooleanNoTRUE是否顯示年份
month_formatarrayNonull月份顯示的字符串的數(shù)組.如 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如果設(shè)置了field_array值,則下拉框的值發(fā)送的PHP時(shí),將會(huì)是 值[Day], 值[Year], 值[Month]的格式。
day_sizestringNonull附加日期select標(biāo)簽的size屬性
month_sizestringNonull附加月份select標(biāo)簽的size屬性
year_sizestringNonull附加年份select標(biāo)簽的size屬性
all_extrastringNonull附加給全部select/input標(biāo)簽附加的屬性
day_extrastringNonull附加給日期select/input標(biāo)簽附加的屬性
month_extrastringNonull附加給月份select/input標(biāo)簽附加的屬性
year_extrastringNonull附加給年份select/input標(biāo)簽附加的屬性
all_idstringNonull全部select/input標(biāo)簽的ID值
day_idstringNonull日期select/input標(biāo)簽的ID值
month_idstringNonull月份select/input標(biāo)簽的ID值
year_idstringNonull年份select/input標(biāo)簽的ID值
field_orderstringNoMDY顯示各下拉框的順序
field_separatorstringNo\n顯示在各字段之間間隔的字符串
month_value_formatstringNo%m月份值的顯示格式(按strftime())默認(rèn)是 %m
all_emptystringNonull該屬性可以在每個(gè)下拉框的第一行顯示文字,并以作為它的值。 在需要讓下拉框的第一行顯示請(qǐng)選擇 的情況下比較有用。
year_emptystringNonull該屬性可以在年份下拉框的第一行顯示文字,并以作為它的值。 在需要讓年份下拉框的第一行顯示請(qǐng)選擇年份 的情況下比較有用。 注意你可以使用如-MM-DD的值,作為時(shí)間屬性來(lái)顯示沒(méi)有選中的年份。
month_emptystringNonull該屬性可以在月份下拉框的第一行顯示文字,并以作為它的值。 注意你可以使用如YYYY--DD的值,作為時(shí)間屬性來(lái)顯示沒(méi)有選中的月份。
day_emptystringNonull該屬性可以在日期下拉框的第一行顯示文字,并以作為它的值。 注意你可以使用如YYYY-MM-的值,作為時(shí)間屬性來(lái)顯示沒(méi)有選中的日期。

溫馨提示:

在日期技巧文章中,介紹了 較有用的php函數(shù)來(lái)將{html_select_date}值轉(zhuǎn)換成時(shí)間戳。

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} 第二個(gè)地理

{* 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}

如果當(dāng)前是 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>

參見(jiàn) {html_select_time}date_format$smarty.now 和 日期技巧.

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)