kendodropdownlist 过滤器 json 具有字段的响应
kendodropdownlist filter json response that has field
我目前正在做以下工作;我所有的 JSON 条目都有 styleName
,但是有些条目有字段 txt
,我只想在下拉列表中显示有 txt
字段的 styleName
数据列表。
var dataSourceJSON = new kendo.data.DataSource({
transport: {
read: {
url: dataURL,
dataType: "json",
type: 'GET'
}
}});dataSourceJSON.read();
$("#dropdown").kendoDropDownList({
dataSource : dataSourceJSON,
dataTextField : "styleName"
});
在使用 kendo 之前,我在经典下拉菜单的 fetch
中通过以下方法实现了这一点。但我不确定如何将这种逻辑与 kendoDropDownList
结合起来
if (data[i].txt) {
option.text = data[i].styleName;
dropdown.add(option);
}..../
更新,这是我目前所在的位置;我可以 console.log
我的模式解析中的正确数据,但仍然很难将过滤后的数据放入下拉列表中。
var ctemp;
var dataSourceJSON = new kendo.data.DataSource({
transport: {
read: {
url: dataURL,
dataType: "json",
type: 'GET'
}
},
schema: {
parse: function(datC) {
console.log(datC);
for (let i = 0; i < datC.length; i++) {
if (datC[i].txt) {
ctemp = datC; // <-- This works and what I need
console.log(ctemp);
}
}
}
}
});dataSourceJSON.read();
$("#dropdown").kendoDropDownList({
optionLabel: "Choose",
dataSource : dataSourceC,
dataTextField : ctemp // <--- does nothing
});
对于这种情况,您可以使用 kendo dataSource
过滤器。 DataSource filter
只需检查一个字段是否为非空即可。
var dataSource = new kendo.data.DataSource({
data: [
{ styleName: "Style 1", txt: 'test' },
{ styleName: "Style 2" },
{ styleName: "Style 3", txt: 'test' },
],
filter: { field: "txt", operator: "isnotnull" }
});
我举了个例子:Filter by field
我目前正在做以下工作;我所有的 JSON 条目都有 styleName
,但是有些条目有字段 txt
,我只想在下拉列表中显示有 txt
字段的 styleName
数据列表。
var dataSourceJSON = new kendo.data.DataSource({
transport: {
read: {
url: dataURL,
dataType: "json",
type: 'GET'
}
}});dataSourceJSON.read();
$("#dropdown").kendoDropDownList({
dataSource : dataSourceJSON,
dataTextField : "styleName"
});
在使用 kendo 之前,我在经典下拉菜单的 fetch
中通过以下方法实现了这一点。但我不确定如何将这种逻辑与 kendoDropDownList
if (data[i].txt) {
option.text = data[i].styleName;
dropdown.add(option);
}..../
更新,这是我目前所在的位置;我可以 console.log
我的模式解析中的正确数据,但仍然很难将过滤后的数据放入下拉列表中。
var ctemp;
var dataSourceJSON = new kendo.data.DataSource({
transport: {
read: {
url: dataURL,
dataType: "json",
type: 'GET'
}
},
schema: {
parse: function(datC) {
console.log(datC);
for (let i = 0; i < datC.length; i++) {
if (datC[i].txt) {
ctemp = datC; // <-- This works and what I need
console.log(ctemp);
}
}
}
}
});dataSourceJSON.read();
$("#dropdown").kendoDropDownList({
optionLabel: "Choose",
dataSource : dataSourceC,
dataTextField : ctemp // <--- does nothing
});
对于这种情况,您可以使用 kendo dataSource
过滤器。 DataSource filter
只需检查一个字段是否为非空即可。
var dataSource = new kendo.data.DataSource({
data: [
{ styleName: "Style 1", txt: 'test' },
{ styleName: "Style 2" },
{ styleName: "Style 3", txt: 'test' },
],
filter: { field: "txt", operator: "isnotnull" }
});
我举了个例子:Filter by field