如果我为日期选择器设置了最小值,则它在打开日期时不会显示小于最小日期的日期。
我的要求是日期选择器中应显示小于日期的日期,但应禁用它们。
答案 0 :(得分:2)
您可以使用CSS样式并在Kendo datepicker中使用自定义内容。
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
答案 1 :(得分:2)
所有归功于devlero的这个,我能够将其转换为Razor Syntax,如果有人想要使用它。
@(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")
}