KendoUI,调整循环编辑器

Posted

技术标签:

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

KendoUI 2013.3.1109

我正在使用KendoUI's scheduler

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

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

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

【问题讨论】:

嘿,你有没有发现如何自定义循环编辑器? 有点,但这是一个 hack - 我将其作为建议的解决方案发布,因为这有一段时间没有得到回答。 【参考方案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" : ""
            
        ];

【讨论】:

以上是关于KendoUI,调整循环编辑器的主要内容,如果未能解决你的问题,请参考以下文章

自定义弹出编辑器中的 kendoui 验证工具提示未正确定位

KendoUI 网格编号列不会编辑为数字

kendoUI行编辑器的使用grid.editRow($("#grid tr:eq"))无效

单击编辑按钮时,Kendoui Grid 获取选定的行 ID

KendoUI Grid:自定义编辑表单,日期选择器返回错误格式

迭代返回以调整 for 循环中的计算值