【问题标题】:How to update/refresh kendo multiselect template?如何更新/刷新剑道多选模板?
【发布时间】:2017-04-27 16:12:43
【问题描述】:

我有一个使用 tagTemplate 的剑道多选,因此当您选择选项时,它会显示 x of y selected。我的问题是,当将项目添加到数据源时,我需要更新参数y,但我不知道如何刷新模板。这是我的 html 模板和我的 js 代码:

HTML 模板:

<script id="SelectedViewsTagTemplate" type="text/x-kendo-template">
    #:values.length# #='@Html.Raw(rm.GetString("STR_OF"))# #:total-1#
</script>

标签模板的Javascript:

            tagTemplate: function (dataItem) {
                dataItem.total = _getTotal.call(this);
                dataItem.total += dataItem.AddMode ? 1 : 0;
                return kendo.template($("#SelectedViewsTagTemplate").html())(dataItem);
            }

我尝试触发“更改”事件以使其更新,但它似乎不起作用,除了重新创建多选之外我不知道如何刷新模板

【问题讨论】:

    标签: javascript html kendo-ui kendo-multiselect


    【解决方案1】:

    万一其他人遇到这个问题,我最终找到了一种解决方法来刷新 multiSelect 模板。在 js 中重新创建包含您在模板中使用的元素的对象,并像这样调用模板函数:

    var templateObject = {
       values: currentMultiSelect.value(),
       total: currentMultiSelect.value().length
    };
    currentMultiSelect.options.tagTemplate(templateObject);
    

    因为我只在模板中使用totalvalues,所以我的对象中只需要这些属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2016-08-18
      相关资源
      最近更新 更多