我有这些选择框如下:
<?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
上做到这一点.还有一个问题,我希望当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>';
}
同样,您可以使用日期("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);
}
}