【发布时间】:2014-10-21 10:32:50
【问题描述】:
如果我为日期选择器设置最小值,它不会在打开时显示小于最小日期的日期。
我的要求是日期选择器中应显示小于最小日期的日期,但应禁用它们。
【问题讨论】:
标签: kendo-ui datepicker
如果我为日期选择器设置最小值,它不会在打开时显示小于最小日期的日期。
我的要求是日期选择器中应显示小于最小日期的日期,但应禁用它们。
【问题讨论】:
标签: kendo-ui datepicker
您可以使用 CSS 样式并在 Kendo 日期选择器中使用自定义内容。
HTML:
<input id="datepicker" style="width:150px;" />
CSS:
.disabledDay {
display: block;
overflow: hidden;
min-height: 22px;
line-height: 22px;
padding: 0 .45em 0 .1em;
cursor:default;
opacity: 0.5;
}
JavaScript:
$(document).ready(function() {
disabledDaysBefore = [
+new Date("10/20/2014")
];
var p = $("#datepicker").kendoDatePicker({
value: new Date(),
dates: disabledDaysBefore,
month: {
content: '# if (data.date < data.dates) { #' +
'<div class="disabledDay">#= data.value #</div>' +
'# } else { #' +
'#= data.value #' +
'# } #'
},
open: function(e){
$(".disabledDay").parent().removeClass("k-link")
$(".disabledDay").parent().removeAttr("href")
},
}).data("kendoDatePicker");
});
查看演示: JSFIDDLE
【讨论】:
$("a.k-link:has('.disabledDay')").removeClass("k-link").removeAttr("href");缩小打开事件代码
这一切归功于 devlero,如果有人想使用它,我可以将它转换为 Razor 语法。
@(Html.Kendo().DatePicker()
.Name("datepicker")
.Value(DateTime.Today)
.Events(e => e.Open("onOpen"))
.MonthTemplate("# if (data.date < disabledDaysBefore) { #" +
"<div class='disabledDay'>#= data.value #</div>" +
"# } else { #" +
"#= data.value #" +
"# } #")
.HtmlAttributes(new { style = "width: 150px;" })
)
$(document).ready(function () {
disabledDaysBefore = [
+new Date("10/20/2014")
];
});
function onOpen() {
$(".disabledDay").parent().removeClass("k-link")
$(".disabledDay").parent().removeAttr("href")
}
【讨论】:
$("a.k-link:has('.disabledDay')").removeClass("k-link").removeAttr("href");缩小onOpen函数代码