愿所有的美好和期待都能如约而至

JQuery kendo格网过滤器属性未定义

发布时间:  来源:互联网  作者:匿名  标签:error jquery kendo grid filter property is undefined exception IT资讯 javascript j  热度:37.5℃

本文介绍了JQuery kendo格网过滤器属性未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个jQuery函数,它应该根据所单击按钮的服务类型值筛选数据源。

我在Telerik上使用了这篇帖子来获得我的指导:

Adding filters to Grid’s source

由此,我创建了buttonFilter()函数:

function buttonFilter() {
    var buttonText = 'All';
    var button = $('#ReadTypeBtnGroup > button.btn.btn-default.active');
    if (button != null) {
        buttonText = button.val();
    }
    console.log('buttonFilter:: buttonText: ' + buttonText);
    var dataSource = $('#grid').data('kendoGrid').dataSource;
    if (dataSource.filter() != undefined) {
        dataSource.filter().length = 0; // remove any existing filters
    }
    if (buttonText != 'All') {
        dataSource.filter().push({ field: "serviceType", operator: 'eq', value: buttonText });
    }
    return buttonText;
}

我收到的错误是:

未捕获的TypeError:无法读取未定义的属性‘Push’

filter()属性应该是一个数组,但当涉及到javascript或jQuery时,我并不擅长。

我做错了什么?

推荐答案

您搞错了。您不能更改筛选器属性更改filter()方法的结果。相反,您必须使用它来传递参数。该方法仅返回只读值。

示例:

var filters = dataSource.filter(); // Getting current filters 
dataSource.filter(null); // Clearing filters
dataSource.filter({ field: "abc", value: "1" }); // Setting new filters

Always check the docs

这篇关于JQuery kendo格网过滤器属性未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP