Kendo Dropdownlist:分组数据导致未定义

时间:2013-09-12 00:31:53

标签: kendo-ui

我试图使用现有的数据文件来填充一个剑道下拉列表。我对填充下拉列表感兴趣的字段是" 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");

然而,有许多品牌重复作为其汽车规格列表,所以我希望能够通过make对数据进行分组来隐藏重复。只要我添加此行,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");

任何想法的人

感谢

UPDATE !!

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

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");

});

1 个答案:

答案 0 :(得分:0)

分组数据如下:

[
  { field: "make", value: "Make 1", items: [...]},
  ...
]

所以请尝试改为:

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