我想在显示时向日期选择器添加类。我写了这段代码,但不起作用。
如何做到这一点?
$(targetEl).datepicker({
dateFormat: "yy/mm/dd",
changeMonth: true,
changeYear: true,
yearRange: "-100:-13",
defaultDate: "-13y",
regional: '',
isRTL: true,
onShow: function () { $("#ui-datepicker-div").addClass("DatePikerEN"); }
});
文档中未提及
onShow
事件。使用 beforeShow
代替
演示:
$('#datepicker').datepicker({
dateFormat: "yy/mm/dd",
changeMonth: true,
changeYear: true,
yearRange: "-100:-13",
defaultDate: "-13y",
regional: '',
isRTL: true,
beforeShow: function() {
alert('show');
$("#ui-datepicker-div").addClass("DatePikerEN");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.min.js" integrity="sha256-lSjKY0/srUM9BE3dPm+c4fBo1dky2v27Gdjm2uoZaL0=" crossorigin="anonymous"></script>
<input id="datepicker" type="text" placeholder="click to select date" />
标记的答案完全有效!
但是如果在某些情况下存在多个日期选择器
那么您应该使用当前日期选择器的实例并仅定位一个日期选择器控件
$('#datepicker').datepicker({
dateFormat: "yy/mm/dd",
changeMonth: true,
changeYear: true,
yearRange: "-100:-13",
defaultDate: "-13y",
regional: '',
isRTL: true,
beforeShow: function (elem,dp) {
dp.dpDiv.addClass("DatePikerEN");
}
});