Kendo Scheduler RecurrenceEditorFor将“开始”设置为所选日期
Kendo Scheduler RecurrenceEditorFor set Start to selected Date
我为Scheduler制作了一个CustomEditorTemplate。有一件事并没有如预期的那样奏效。
对于RecurrenceEditorFor,它有一个结束日期,您可以在其中选择日期。但对于我们的RecurrenceEditorFor,它已自动将"开始"设置为当前日期,而不是计划程序的选定日期。
我们的RecurrenceEditorFor看起来像:
<div data-container-for="recurrenceRule" class="k-edit-field">
@(Html.Kendo().RecurrenceEditorFor(model => model.RecurrenceRule).Messages(m => SchedulerHelper.MessageLocaliztion(this, m))
.HtmlAttributes(new { data_bind = "value:recurrenceRule" })
)
</div>
我当然可以把开始时间定在一个特定的日期,
<div data-container-for="recurrenceRule" class="k-edit-field">
@(Html.Kendo().RecurrenceEditorFor(model => model.RecurrenceRule).Messages(m => SchedulerHelper.MessageLocaliztion(this, m))
.HtmlAttributes(new { data_bind = "value:recurrenceRule" })
.Start(new DateTime(2014,8,4))
)
</div>
,但如果我选择在此日期之前的日期,这将不起作用。
即使我在当前日期之后选择了一个日期,它也会给我这个日期。因此,这并不是因为当前日期是最小值,而是它必须是一个静态日期,设置在某个地方,或者以某种方式。
我也尝试过用一些JavaScript设置输入字段中的文本,但这将无法在当前日期之前选择日期。这也会打乱递归规则。
在我们添加了CustomEditorTemplate之后,我可以看到它是标准的,但对我们来说不是。我们是错过了什么,还是做错了什么?
我找到了一个解决方案:
我在Recurrenceulediv上添加了一个点击方法:
$("div[name='RecurrenceRule']").on("click", function () {
window.changerecurrenceStart();
});
方法changerecurrenceStart
:
function changerecurrenceStart()
{
var date = $("#startDate").data("kendoDatePicker")._value;
$("#RecurrenceRule").data("kendoRecurrenceEditor").options.start = date;
$("#RecurrenceRule").data("kendoRecurrenceEditor").options.value = date;
}
这对我来说效果很好。
相关文章:
- 在输入类型日期中设置日期
- 在达到状态之前在Redux Reducer中设置日期格式
- Javascript设置日期不起作用,显示错误的时间
- 如何在我的情况下设置日期格式
- 时间戳日期&时间格式-应用程序脚本-设置日期和时间格式
- 引导日期选取器在显示时与在值上设置日期的格式不同
- 设置日期变量的格式
- Java 脚本 设置日期的最小值和最大值属性
- Javascript Date - 只设置日期,忽略时间
- 使用angular-moment.js设置日期格式
- Moment会在设置日期时自动更正无效日期
- Moment.js:根据浏览器语言设置日期格式
- 以给定的精度设置日期格式
- 使用即时Angularjs设置日期格式
- 使用DateAdd()在Javascript/Classic ASP中设置日期格式
- 从 UTC 字符串设置日期格式
- 如何设置日期滑块的选定范围的最小值
- 以角度格式设置日期格式
- 以角度设置日期格式
- 在 JavaScript 中设置日期时间顺序