【发布时间】:2014-12-30 14:21:45
【问题描述】:
我有两个日期,即 date 和 date1。在date,我得到月份和年份,在date1,我想得到在date 中选择的特定月份的日期。问题是我无法做到这一点。
如果有人可以帮助我,我已经做了小提琴的例子。
请在下面的评论中找到小提琴链接。
【问题讨论】:
标签: jquery html twitter-bootstrap bootstrap-datepicker
我有两个日期,即 date 和 date1。在date,我得到月份和年份,在date1,我想得到在date 中选择的特定月份的日期。问题是我无法做到这一点。
如果有人可以帮助我,我已经做了小提琴的例子。
请在下面的评论中找到小提琴链接。
【问题讨论】:
标签: jquery html twitter-bootstrap bootstrap-datepicker
在这里我可以在datepicker 上选择月份和年份。在datepicker1,只能选择对应月份的天数。
HTML:
<input type="text" id="datepicker" />
<input type="text" id="datepicker1" />
<button id="resetBtn" class="btn btn-danger" type="button">Clear</button>
JQuery:
// Create the first datepicker based on month
$('#datepicker').datepicker({
format: 'mm-yyyy',
viewMode: 'months',
minViewMode: 'months'
});
// On change, set the date of the first datepicker to the inputDate variable
// and then set the month on the second datepicker
$('#datepicker').on('change', function () {
var inputDate = $('#datepicker').datepicker('getDate');
var lastDate = new Date(inputDate.getFullYear(), inputDate.getMonth() + 1, 0);
$('#datepicker1').datepicker({
startDate: inputDate,
endDate: lastDate
});
});
// Reset the values for both datepickers
$('#resetBtn').click(function () {
$('#datepicker').val("").datepicker('update');
$('#datepicker1').val("").datepicker('update');
$('#datepicker1').datepicker('remove');
});
警告:
此代码将无法动态更改在datepicker1 上从datepicker 选择的日期。您需要使用resetBtn 按钮清除这些值作为解决方法。当用户尝试在 datepicker 上更改月份而不先清除日期选择器时,您可能需要添加一些错误处理。
来自 OP 的更新:
我已经按要求做了解决方案,不需要清除按钮。
$('#datepicker').datepicker({
format: 'MM',
viewMode: 'months',
minViewMode: 'months',
});
$('#datepicker').on('focus', function () {
$('#datepicker1').val("").datepicker('update');
$('#datepicker1').datepicker('remove');
});
$('#datepicker').on('change', function () {
var inputDate = $('#datepicker').datepicker('getDate');
var lastDate = new Date(inputDate.getFullYear(), inputDate.getMonth() + 1, 0);
$('#datepicker1').datepicker({
startDate: inputDate,
endDate: lastDate,
format: "dd",
viewMode: "days",
minViewMode: "days"
});
});
【讨论】: