【发布时间】: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