Kendo ui 剑道下拉列表:分组数据导致未定义

Kendo ui 剑道下拉列表:分组数据导致未定义,kendo-ui,Kendo Ui,我试图使用现有的数据文件来填充剑道下拉列表。我感兴趣的填充我下拉列表的字段是“make”字段,它基本上显示列表或汽车制造商 这个很好用 var makes = $("#makes").kendoDropDownList({ optionLabel: "Select make...", dataTextField: "make", dataValueField: "make", dataSource: { tr

我试图使用现有的数据文件来填充剑道下拉列表。我感兴趣的填充我下拉列表的字段是“make”字段,它基本上显示列表或汽车制造商

这个很好用

var makes = $("#makes").kendoDropDownList({
        optionLabel: "Select make...",
        dataTextField: "make",
        dataValueField: "make",
        dataSource: {
            transport: {
                read: {
                    dataType: "jsonp",
                    url: "data.php",
                }
            },
            schema: {
                data: "data"
            }
        }
    }).data("kendoDropDownList");
然而,有许多重复的制造,因为它是一个汽车规格的列表,所以我希望能够通过制造来分组数据,以隐藏重复。只要我添加这一行,dropdowlist选项就变得未定义

 group: { field: "make" }
添加组后的代码

 var makes = $("#makes").kendoDropDownList({
        optionLabel: "Select make...",
        dataTextField: "make",
        dataValueField: "make",
        dataSource: {
            transport: {
                read: {
                    dataType: "jsonp",
                    url: "data.php",
                }
            },
            schema: {
                data: "data"
            },
            group: { field: "make" }
        }
    }).data("kendoDropDownList");
有什么主意吗,伙计们

谢谢

更新

使用下面的方法,我现在可以对数据进行分组,但级联不起作用

var data = [
  {"make": "Audi", "model": "A1"},
  {"make": "Audi", "model": "A2"},
  {"make": "Audi", "model": "A3"},
  {"make": "Audi", "model": "A4"},
  {"make": "Saab", "model": "S500"}
];

$(document).ready(function () {

  var makesDatasource = new kendo.data.DataSource({
      data: data,
      group: { field: "make", value: "make"}
  });

  var makes = $("#makes").kendoDropDownList({
        optionLabel: "Select make...",
        dataTextField: "value",
        dataValueField: "value",
        dataSource: makesDatasource
  }).data("kendoDropDownList");

  var modelsDatasource = new kendo.data.DataSource({
      data: data,
      group: { field: "model", value: "model"}
  });

  var models = $("#models").kendoDropDownList({
        autoBind: false,
        cascadeFrom: "makes",
        optionLabel: "Select model...",
        dataTextField: "value",
        dataValueField: "value",
        dataSource: modelsDatasource
  }).data("kendoDropDownList");

});

分组数据如下所示:

[
  { field: "make", value: "Make 1", items: [...]},
  ...
]
所以试着换成:

    dataTextField: "value",
    dataValueField: "value",

谢谢如果我像你建议的那样对数据进行分组,但是我无法让级联下拉列表工作。我修改了上面的代码以包含您的建议如果我有一个项目列表,我想按它们的属性之一进行分组,我会在数据源上设置一个类似group:{field:“make”}的分组。在databound上,我检查数据源,它是一个具有Make属性的项目/对象的平面列表。然而,datasource.view知道数据需要像您所说的{field=“make”,value=“Mazda”,items=[10]}那样进行分组,因此您的dataTextField=value建议很好,这些组可以正确渲染,但它们不能作为选项分组进行渲染,它们的子项也不能被渲染。。。。。所以剑道下拉列表不支持选项分组doh