1

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

任何想法的家伙

谢谢

更新!!

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

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

});
4

1 回答 1

0

分组数据如下所示:

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

所以尝试更改为:

    dataTextField: "value",
    dataValueField: "value",
于 2013-09-12T01:41:46.930 回答