【问题标题】:KendoUI, tweaking the recurrence editorKendoUI,调整循环编辑器
【发布时间】:2013-12-28 17:30:21
【问题描述】:

KendoUI 2013.3.1109

我正在使用KendoUI's scheduler

我正在使用预订表格的模板,但通过谷歌搜索和阅读论坛,我了解到重复使用他们的重复表格。我什至通过实验发现可以通过例如运行来选择可用的周期选项:

$("#recurrenceEditor").kendoRecurrenceEditor(
    {
      frequencies: ["never", "daily", "weekly", "monthly"]
    }); 
});

上面的代码不会加载下拉菜单中的“每年”选项。 网站上没有 kendoRecurrenceEditor 的 API 文档,但我想知道是否可以调整其他选项,例如在重复到期时删除“从不”标签等等。

【问题讨论】:

  • 嘿,你有没有发现如何自定义循环编辑器?
  • 有点,但这是一个 hack - 我将其作为建议的解决方案发布,因为这有一段时间没有得到回答。

标签: kendo-ui kendo-scheduler


【解决方案1】:

所以我初始化了剑道循环编辑器:

 $("#recurrenceEditor").kendoRecurrenceEditor({
            change: function() {
                onRecurrenceEditorChange();
            }
  });

然后我调整#recurrenceEditor 中可见的内容

var onRecurrenceEditorChange = function() {
            var recurrenceKendoNumericTextBox = $('#recurrenceEditor .k-widget.k-numerictextbox.k-recur-count input[data-role="numerictextbox"]')
                .data('kendoNumericTextBox');

            if (recurrenceKendoNumericTextBox != null) {

                var recurrenceEditorNeverEndOption = _container.find('#recurrenceEditor label:has(.k-recur-end-never)');

                if (recurrenceEditorNeverEndOption != null)
                    recurrenceEditorNeverEndOption.hide();

                recurrenceKendoNumericTextBox.max(10);

                var recurrenceKendoDatePicker = _container.find('#recurrenceEditor .k-datepicker input[data-role="datepicker"]').data("kendoDatePicker");
                if (recurrenceKendoDatePicker != null) {
                    var maxDate = window.moment().add('months', 2).toDate();
                    recurrenceKendoDatePicker.max(maxDate);
                    recurrenceKendoDatePicker.value(maxDate);
                }
            }
        };

如果你想调整间隔,可以这样修改:

var recurrencePeriodKendoDropDownList = $('.k-widget.k-dropdown input[data-role="dropdownlist"]').data("kendoDropDownList");
        var recurrencePeriodFilters = [
            {
                field: "value",
                operator: "neq",
                value: 'yearly'
            }, {
                field: "value",
                operator: "neq",
                value: 'monthly'
            },
            // if it's a newres, don't hide 'Never' option which matches to "", 
            {
                field: "value",
                operator: "neq",
                value: someBoolConditionIhave ? "fake" : ""
            }
        ];

【讨论】:

    猜你喜欢
    • 2014-08-21
    • 2023-03-10
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    相关资源
    最近更新 更多