用JavaScript表示日期的下拉菜单代码
时间: 2023-08-31 10:44:14 浏览: 95
### 回答1:
以下是用 JavaScript 表示日期的下拉菜单代码:
```html
<select id="year"></select>
<select id="month"></select>
<select id="day"></select>
<script>
// 获取当前年份
var currentYear = new Date().getFullYear();
// 填充年份下拉菜单
for (var i = currentYear; i >= currentYear - 100; i--) {
var option = document.createElement("option");
option.value = i;
option.text = i;
document.getElementById("year").appendChild(option);
}
// 填充月份下拉菜单
for (var i = 1; i <= 12; i++) {
var option = document.createElement("option");
option.value = i;
option.text = i;
document.getElementById("month").appendChild(option);
}
// 根据年份和月份填充日期下拉菜单
function updateDays() {
var year = document.getElementById("year").value;
var month = document.getElementById("month").value;
var daysInMonth = new Date(year, month, ).getDate();
// 清空日期下拉菜单
var daySelect = document.getElementById("day");
daySelect.innerHTML = "";
// 填充日期下拉菜单
for (var i = 1; i <= daysInMonth; i++) {
var option = document.createElement("option");
option.value = i;
option.text = i;
daySelect.appendChild(option);
}
}
// 监听年份和月份下拉菜单的变化,更新日期下拉菜单
document.getElementById("year").addEventListener("change", updateDays);
document.getElementById("month").addEventListener("change", updateDays);
// 初始化日期下拉菜单
updateDays();
</script>
```
希望能对你有所帮助!
### 回答2:
下面是一个用JavaScript表示日期的下拉菜单的代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>Date Select</title>
</head>
<body>
<select id="dateSelect"></select>
<script>
var select = document.getElementById("dateSelect");
// 获取当前年份
var currentYear = new Date().getFullYear();
// 添加年份选项
for (var i = currentYear; i >= currentYear-10; i--) {
var option = document.createElement("option");
option.value = i;
option.text = i;
select.appendChild(option);
}
// 添加月份选项
for (var i = 1; i <= 12; i++) {
var option = document.createElement("option");
option.value = i;
option.text = i;
select.appendChild(option);
}
// 添加日期选项
select.onchange = function() {
var year = select.options[select.selectedIndex].value;
var month = select.options[select.selectedIndex+11].value;
var daysInMonth = new Date(year, month, 0).getDate();
// 移除之前的日期选项
for (var i = select.options.length-1; i >= 23; i--) {
select.remove(i);
}
// 添加新的日期选项
for (var i = 1; i <= daysInMonth; i++) {
var option = document.createElement("option");
option.value = i;
option.text = i;
select.appendChild(option);
}
};
</script>
</body>
</html>
```
以上代码会生成一个下拉菜单,其中包含了年、月和日期的选项。初始情况下,默认显示当前年份和月份的选项。当用户选择年份和月份时,会根据用户选择的年份和月份动态生成对应的日期选项。
### 回答3:
下面是一段使用JavaScript实现日期下拉菜单的示例代码:
```html
<!DOCTYPE html>
<html>
<body>
<label for="date">选择日期:</label>
<select id="date">
</select>
<script>
// 获取select元素
var dateSelect = document.getElementById("date");
// 创建日期对象
var today = new Date();
// 获取当前年份和月份
var currentYear = today.getFullYear();
var currentMonth = today.getMonth();
// 生成日期选项
for (var year = currentYear; year >= currentYear - 10; year--) {
for (var month = 11; month >= 0; month--) {
// 创建option元素
var option = document.createElement("option");
// 设置option的值为日期字符串,例如"2022-03"
option.value = year + "-" + (month + 1).toString().padStart(2, '0');
// 设置option的显示文本为日期,例如"2022年3月"
option.text = year + "年" + (month + 1) + "月";
// 将option添加到select元素中
dateSelect.appendChild(option);
// 如果生成的日期等于当前年份和月份,则选中该选项
if (year === currentYear && month === currentMonth) {
option.selected = true;
}
}
}
</script>
</body>
</html>
```
此代码使用JavaScript动态生成了一个日期的下拉菜单,从当前年份起,向前生成了10年的选项。代码获取当前年份和月份,通过嵌套的for循环遍历生成所有年份和月份的选项。每个选项的值以"YYYY-MM"的格式表示,显示文本则以"YYYY年M月"的格式表示。最后,代码将生成的选项添加到select元素中,并将当前年份和月份的选项设为默认选中。
阅读全文