【问题标题】:KendoUI - Multiselect - Cascade - Issue with JSON FilteringKendoUI - 多选 - 级联 - JSON过滤问题
【发布时间】:2018-04-05 09:07:18
【问题描述】:

在过滤多选数据后,我面临接收正确值的问题。

    <script>
        $(function () {
            var productsDataSource = new kendo.data.DataSource({
                type: "json",
                serverFiltering: true,
                transport: {
                    read: {
                        url: "/api/incident/issue",
                    },
                    parameterMap: function (data) {
                        return kendo.data.transports.odata.parameterMap.call(this, data);
                    }
                }
            });

            $("#products").kendoMultiSelect({
                autoBind: false,
                dataTextField: "IssueName",
                dataValueField: "IssueID",
                dataSource: productsDataSource
            });

            $("#suppliers").kendoMultiSelect({
                autoBind: false,
                dataTextField: "CategoryName",
                dataValueField: "CategoryID",
                dataSource: {
                    type: "json",
                    serverFiltering: true,
                    transport: {
                        read: {
                            url: "/api/incident/category"
                        }
                    }
                },
                change: function () {
                    var filters = buildFilters(this.dataItems());
                    productsDataSource.filter(filters);
                }
            });

            function buildFilters(dataItems) {
                var filters = [],
                    length = dataItems.length,
                    idx = 0, dataItem;

                for (; idx < length; idx++) {
                    dataItem = dataItems[idx];

                    filters.push({
                        field: "CategoryID",
                        operator: "eq",
                        value: parseInt(dataItem.CategoryID)
                    });
                }

                return {
                    logic: "or",
                    filters: filters
                };
            }
        });
    </script>

看来我在这部分有问题

                  filters.push({
                        field: "CategoryID",
                        operator: "eq",
                        value: parseInt(dataItem.CategoryID)
                    });

operator: "eg",

正如我所见,帖子没有出现这样的问题:

/api/incident/issue?%24inlinecount=allpages&%24format=json&%24filter=CategoryID%20eq%201

接收数据但没有正确过滤,请对 JSON 运算符(等效)有任何帮助吗?

【问题讨论】:

    标签: javascript jquery json laravel kendo-ui


    【解决方案1】:

    解决了。将serverfiltering: 的值从true, 更改为false,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 1970-01-01
      • 2021-04-10
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多