我需要按月显示日期。例如,当我从日期中选择31时,将显示月份(1,3,5,7,8,10,12)。 我已经创建了,但是月份的结果是1。
这是我的HTML
<label>Day: </label>
<input list="day" class="birth-day" maxlength="2">
<label>Month: </label>
<input list="month" class="birth-month" maxlength="2" disabled>
我的Javascript
function daysInMonth(day) {
return new Date(day, 0).getMonth() + 1;
}
$('.birth-day').on('change',function() {
var daysInSelectedMonth = daysInMonth($('.birth-day').val());
$('#month').text($("<option></option>").attr("value", i).text(""));
for (var i = 1; i <= daysInSelectedMonth; i++) {
$('#month').append($("<option></option>").attr("value", i).text(i));
}
})
这是我在Fiddle中的完整代码 谢谢
答案 0 :(得分:0)
如果您的目标是从用户那里获取正确的日期值,那么有一种更简洁,更一致的方法可以做到这一点,请使用日期选择器组件。
您可以:
HTML:
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
</head>
<body>
<div>Selected Date: <input type="text" id="date_ex"></div>
<div id="date_val"></div>
</body>
</html>
JS:
$('#date_ex').datepicker({
onSelect: function(dateText, inst) {
// date value now in dateText, show it in date_val DIV
$('#date_val').text(dateText);
}
});
实时示例:
答案 1 :(得分:0)