Kendo ui 让我的级联DropDownList正常工作缺少什么

Kendo ui 让我的级联DropDownList正常工作缺少什么,kendo-ui,kendo-combobox,Kendo Ui,Kendo Combobox,非常简单的案例显示在这里: 我需要指定要根据父项的值字段过滤(eq)的子项的内部字段是“category_id”。。。当然,剑道的文档没有说明如何做到这一点。。。或者这是一件非常明显的事情,不值得解释 var categoriesList = new Array ( {"id":"1","categoryName":"Fruits"}, {"id":"2","categoryName":"Vegetables"} ); var productsList = new Ar

非常简单的案例显示在这里:

我需要指定要根据父项的值字段过滤(eq)的子项的内部字段是“category_id”。。。当然,剑道的文档没有说明如何做到这一点。。。或者这是一件非常明显的事情,不值得解释

    var categoriesList = new Array (
    {"id":"1","categoryName":"Fruits"},
    {"id":"2","categoryName":"Vegetables"} );

var productsList = new Array(
    {"id":"1","categorie_id":"1","productName":"Apples"},
    {"id":"2","categorie_id":"1","productName":"Oranges"},
    {"id":"3","categorie_id":"2","productName":"Carottes"},
    {"id":"4","categorie_id":"2","productName":"Patatoes"});

$("#categories").kendoDropDownList({
    dataTextField: "categoryName",
    dataValueField: "id",
    dataSource: categoriesList,
    optionLabel: "----------------" ,
    change: function() {
        $("#products").data("kendoDropDownList").value(0);
    }
});
$("#products").kendoDropDownList({
    cascadeFrom: "categories",
    dataTextField: "productName",
    dataValueField: "id",
    dataSource: productsList,
    optionLabel: "----------------" ,
});

有关级联的文档可在以下位置获得:

以下是过滤的工作原理:

如果父项具有值,则子项将被启用并 根据它过滤数据。下面是过滤器选项的外观 比如:

字段:“parentID”,//父项的dataValueField
操作员:“eq”,
值:“”//父级的值

这意味着子dropdownlist(组合框)将使用通过父级的
dataValueField
配置的字段进行过滤(级联)。在您的情况下,这不起作用,因为父项的
dataValueField
设置为“id”。但是,此字段在
productsList
数组中有不同的用途

目前还没有允许指定用于级联的字段的功能

您有两个选择:

  • 照@OnaBai的建议去做。将
    categoriesList
    的“id”字段重命名为“categorie\u id”,并相应地设置
    dataValueField
  • 手动实现级联。首先删除cascadeFrom选项,然后在父级的更改事件中执行此操作:

    change: function() {
        var products = $("#products").data("kendoDropDownList");
    
        products.dataSource.filter( {
          field: "categorie_id",
          value: this.value(),
          operator: "eq"
        });
    
        products.value(0);
    }
    
    这是一个现场演示:


  • 您能否将
    分类列表中的
    id
    更改为
    分类id
    ?如果是这样,您可以这样做,然后在第一个
    kendoDropDownList
    中说
    dataValueField
    categorie\u id
    (请参见)