我正在尝试从“ YearPicker”禁用年份,这是一个DatePicker,您只能选择年份。我需要禁用所有年份并仅启用范围的几年(例如,从2012年到现在)。
我正在使用JQueryUI DatePicker,它看起来像这样:
CSS:
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<style>
.ui-datepicker-calendar {
display: none;
}
</style>
JS:
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$('#datepicker').datepicker({
viewMode: 2,
format: 'yyyy',
maxDate: new Date(new Date().getFullYear(), 11, 31),
minDate: new Date(2012, 0, 1)
});
})
</script>
HTML:
<label>Year: <input class="form-control" type="text" id="datepicker"></label>
答案 0 :(得分:0)
您可以执行自己的工作,但我认为这比需要的工作要多。我建议也许考虑改用自动完成。看看:
ln_is = [d['url'] for d in generator if d['url_source'] is '"http://ln.is']
$(function() {
$("#datepicker").autocomplete({
minLength: 0,
source: function(req, resp) {
var today = new Date();
var min = today.getFullYear() - 6;
// Adjust above as needed, currently 6 years before this year
var results = [];
for (min; min <= today.getFullYear(); min++) {
results.push(min.toString());
}
resp(results)
}
}).focus(function(e) {
$(e.target).autocomplete("search", "");
});
})
如果需要,也可以将其移至其自身的功能。
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<label>Year: <input class="form-control" type="text" id="datepicker" data-years="6"></label>
您还可以调整主题以将其水平列出,而不是垂直列出。
希望有帮助。
答案 1 :(得分:0)
解决了!我正在导入Bootstrap DatePicker和JQueryUI DatePicker,我以为我只在使用第二个,但是应用程序仅检测到第一个,所以我的代码现在可以正常工作:
$('#datepicker').datepicker({
minViewMode: 2,
format: 'yyyy',
startDate: '2012',
endDate: 'y'
});
感谢大家的帮助!