[英]create 3 selectbox(months, days, years) php looping options for each and Javascript to change options for `days` when `months` changes
我有以下選擇框:
<?php
echo'
<select id="months"></select>
<select id="days"></select>
<select id="years"></select>
'; ?>
我希望每個選擇框的選項都是當前日期,以便在加載時自動選擇。 例如今天(2016年1月28日):第一個選擇框應選擇1月。 下一個應該是18,最后一個應該是2016。
實際上,我已經使用此代碼在days
選擇框中使用了該功能。
for ($x = 1; $x <= 31; $x++) {
echo '<option value="'.$x.'" ';
if ($x == date_format($nowdate,'d'))
{
echo 'selected';
}
echo' >'.$x.'</option>';
}
但是我不知道months
怎么做。 還有1個問題,我希望當months
改變時, days
也應根據所選月份的天數改變其選項。 任何幫助將不勝感激。 謝謝。
考慮將2000-3000作為years
中包含的選項選擇框
您可以嘗試以下代碼來填充月份:
for ($x = 1; $x <= 12; $x++) {
$mon = date('F', mktime(0,0,0,$x));
echo '<option value="'.$mon.'" ';
if ($mon == date('F'))
{
echo 'selected';
}
echo' >'.$mon.'</option>';
}
同樣,您可以使用date('Y')來計算當前年份。
對於JavaScript部分,您可以使用以下代碼-
月份更改時,選擇框調用以下函數並傳遞兩個參數(當前選定的月份和選定的年份)-
function getCurrentdays(month,year) {
var currentdays = new Date(year, month, 0).getDate();
populatedayscombo(currentdays);
}
function populatedayscombo(currentdays)
{
document.getElementById("monthscombo").options.length = 0;
for (x = 1; x <= currentdays; x++)
{
var newOption = document.createElement("option");
newOption.text = x;
newOption.value = x;
document.getElementById("monthscombo").add(newOption);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.