防止jQueryUI日期选择器(内联类型)选择今天的日期
Prevent jQuery UI Datepicker (inline type) from selecting today's date
jQuery UI 日期选择器自动选择今天的日期并将其设置为关联输入元素的值。除了清除 beforeShow 上的输入字段外,还有什么办法可以防止这种情况发生,例如:
beforeShow: function(input, inst) {
$('#calendar').val('');
}
...既脏又容易出错。
文档似乎没有列出任何方法。有 gotoCurrent,但它只会将 link 移动到当前选择的日期而不是今天。我想要的是不选择今天的日期并将关联的输入字段留空。
不过,我不是说要隐藏今天的日期 CSS class,它已经被隐藏了 here.
请注意,这只是内联日期选择器(绑定到 div
或 span
元素)的问题。工具提示日期选择器(绑定到 input
元素)不会发生这种情况。
您可以像下面这样操作:
$('.datepicker').datepicker({
beforeShowDay: function(date) {
var _date = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [new Date().toJSON().slice(0,10) != _date]
}
});
如果您只想防止突出显示今天的日期,请使用与默认 class
相同的属性覆盖 highlight
class
$("#datepicker").datepicker();
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #c5c5c5;
background: #f6f6f6;
font-weight: normal;
color: #454545;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.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>
<style>
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #c5c5c5;
background: #f6f6f6;
font-weight: normal;
color: #454545;
}
</style>
<p>Date:
<input type="text" id="datepicker">
</p>
jQuery UI 日期选择器自动选择今天的日期并将其设置为关联输入元素的值。除了清除 beforeShow 上的输入字段外,还有什么办法可以防止这种情况发生,例如:
beforeShow: function(input, inst) {
$('#calendar').val('');
}
...既脏又容易出错。
文档似乎没有列出任何方法。有 gotoCurrent,但它只会将 link 移动到当前选择的日期而不是今天。我想要的是不选择今天的日期并将关联的输入字段留空。
不过,我不是说要隐藏今天的日期 CSS class,它已经被隐藏了 here.
请注意,这只是内联日期选择器(绑定到 div
或 span
元素)的问题。工具提示日期选择器(绑定到 input
元素)不会发生这种情况。
您可以像下面这样操作:
$('.datepicker').datepicker({
beforeShowDay: function(date) {
var _date = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [new Date().toJSON().slice(0,10) != _date]
}
});
如果您只想防止突出显示今天的日期,请使用与默认 class
相同的属性覆盖highlight
class
$("#datepicker").datepicker();
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #c5c5c5;
background: #f6f6f6;
font-weight: normal;
color: #454545;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.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>
<style>
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #c5c5c5;
background: #f6f6f6;
font-weight: normal;
color: #454545;
}
</style>
<p>Date:
<input type="text" id="datepicker">
</p>