JQuery 日期选取器隐藏页面上一个日历中的日期
JQuery Datepicker hide dates from one calendar on a page
我在同一页面上有几个日期选择器,需要一个只显示月份和年份,而其他应该显示带有日期的完整日历。我知道,为了向一个单独的日期选择器隐藏几天,我可以做这样的事情:
<style>
.ui-datepicker-calendar {
display: none;
}
</style>
但这会隐藏所有日历中的日期。如何确保其他日期选取器保留日历视图?
编辑我确实尝试了嵌套 CSS,但仍然缺少一些东西。对于 HTML 部分,我大致有:
<div id="monthOnly"><input type="text" class="monthly-picker" name="mdate"></div>
和JS代码$('.monthly-picker').datepicker();
尽管如此,做一些类似的事情
<style>
#monthOnly .ui-datepicker-calendar {
display: none;
}
</style>
不会产生预期的结果。
在容器元素上为 use 提供一个 id。
<style>
#monthOnly .ui-datepicker-calendar {
display: none;
}
</style>
编辑:http://jsfiddle.net/h8DWR/是处理日期选择器特性的解决方案。 这个想法是使用样式元素在选择特定日期选择器时添加样式,然后在关闭时将其删除。
我做了一点不同...
.HTML
<label for="startDate">Date :</label>
<input name="startDate" id="startDate" class="date-picker" />
.CSS
.hide-calendar .ui-datepicker-calendar {
display: none;
}
jQuery
$(function() {
$('.date-picker').datepicker( {
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
yearRange: '1980:' + new Date().getFullYear(),
beforeShow: function(el, dp) {
$('#ui-datepicker-div').addClass('hide-calendar');
},
onClose: function(dateText, inst) {
$('#ui-datepicker-div').removeClass('hide-calendar');
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
}
});
});
小提琴
方式略有不同
$('.year').datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
beforeShow: function(input) {
$(this).datepicker('widget').addClass('hide-calendar');
},
onClose: function(input, inst) {
$(this).datepicker('widget').removeClass('hide-calendar');
$(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
}
});
$('.datepicker').datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy dd',
onClose: function(input, inst) {
$(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay));
}
});
.hide-calendar .ui-datepicker-calendar{
display: none;
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css" rel="stylesheet" />
<input class="year" type="text" id="" />
<input class="datepicker" type="text" id="" />
相关文章:
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何将值传递到上一个html页面
- Javascript获取上一个元素的内容
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从上一个日期创建日期并添加到该日期
- 日期选择器 getDate 方法在第二次单击时工作并显示上一个选定的日期
- Ajax 日历扩展器不选择上一个日期
- JQuery:日期选择器:只有最后一个字段具有上一个/下一个按钮
- JQuery 日期选取器隐藏页面上一个日历中的日期
- 用javascript计算上一个结束日期和下一个开始日期之间的间隔
- jQuery日期选择器上一个和下一个按钮没有显示,如何指向css中的主题文件夹图像
- 使用Javascript获取基于未来日期的上一个日期
- 设置在上一个日期选取器中选取的日期的最小日期
- 使用Javascript获取上一个日期
- HTML 上一个日期验证
- <HTML>上一个日期Vallition
- 从javascript中的today's date中获取上一个日期
- 在CanvasJS图表中,在日期上添加一个月
- 日期转换使用javascript将日期转换为上一个日期
- 使用 jQuery 日历默认选择上一个日期