使用javascript在选择列表中选择的下一个日期
我希望日期选择为2014年8月14日 请帮助处理javascipt部分,数据应保持静态选择列表将保持静态 只修改javascript。使用javascript在选择列表中选择的下一个日期,javascript,html,Javascript,Html,我希望日期选择为2014年8月14日 请帮助处理javascipt部分,数据应保持静态选择列表将保持静态 只修改javascript。 我很难从下拉列表中选择下一个日期。将此添加到JavaScript中 <html> <head> <script> function data() { var today = new Date(); var mon
我很难从下拉列表中选择下一个日期。将此添加到JavaScript中
<html>
<head>
<script>
function data() {
var today = new Date();
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var d = today.getDate();
var m = month[today.getMonth()];
var y = today.getFullYear();
}
</script>
</head>
<body onload="data();">
<select id="day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>
<select id="month">
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="Mar">Mar</option>
<option value="Apr">Apr</option>
<option value="May">May</option>
<option value="Jun">Jun</option>
<option value="Jul">Jul</option>
<option value="Aug">Aug</option>
<option value="Sep">Sep</option>
<option value="Oct">Oct</option>
<option value="Nov">Nov</option>
<option value="Dec">Dec</option>
</select>
<select id="year">
<option value="2014">2014</option>
<option value="2015">2015</option>
</select>
</body>
</html>
小提琴:在您的标签中:
并从body标记中删除onload属性
请参阅。我建议使用JS循环创建所有这些选项。可能重复的不是重复的,不同的是我们为什么不能在正文中使用onload?如果你看代码,你会发现我将日期增加了1天。但实际上,执行代码时不会增加。今天是8月13日,页面加载时,它显示2014年8月14日被选中。查看我添加的JSFIDLE。它的8月14日是因为我将系统日期更改为8月6日是12点。它仍然不是6 n不是7如何处理8月31日,那么下一个日期应该是9月1日。这不会将日期增加到第二天…只是想添加一点更多的条件,例如,如果用户选择了过去的几个月,比如1月到2月,因为我们进入8月和过去的日期,如1至13日,或者如果2014年已过,则抛出一个错误作为“选择验证日期”…我如何才能做到这一点?
function getNextDate(currentMonth){
switch(currentMonth) {
case "January":
case "March":
case "May":
case "July":
case "August":
case "October": if(d==31) {
d=1;
m=month[today.getMonth()+1];
} else {
d++;
}
break;
case "December": if(d==31) {
d=1;
m=month[today.getMonth()+1];
y++;
} else {
d++;
}
break;
case "February": if(d==28) {
d=1;
m=month[today.getMonth()+1];
} else {
d++;
}
break;
default: if(d==30) {
d=1;
m=month[today.getMonth()+1];
} else {
d++;
}
break;
}
};
getNextDate(m);
document.getElementById('day').value = d;
document.getElementById('month').value = m.slice(0,3);
document.getElementById('year').value = y;
function data() {
'use strict';
// Get today's date
var today = new Date();
// Create an array of month names for the month fields
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
// Increase date by 1 day
today = new Date(today.valueOf() + 86400000);
// Set the values
document.getElementById('day').value = today.getUTCDate();
document.getElementById('month').value = monthNames[today.getUTCMonth()];
document.getElementById('year').value = today.getUTCFullYear();
}
// Automatically do this on load
window.addEventListener('load', data, false);