Kendo Dropdownlist值没有使用类选择器

时间:2017-05-11 12:17:31

标签: kendo-dropdown

我正在使用Kendo UI框架开发Web应用程序。 HTML文件如下: -

<div class="grand_parent">

    <div class="parent1"> 
        <div class="child1"></div>
    </div>

    <div class="parent2">
        <div class="child2"></div>
    </div>

</div>

&#39; grand_parent&#39;课程将根据条件重复。在这个孩子1&#39;和孩子2&#39;课程将与Kendo下拉列表绑定。

$(".child1").kendoDropDownList({
    dataTextField: "text",
    dataValueField: "value",
    dataSource: options1,
    index: 0,
});

$(".child2").kendoDropDownList({
    dataTextField: "text",
    dataValueField: "value",
    dataSource: options2,
    change: onSelect,
    index: 0,
});


options1 = [
    {text:"Child1", value:1},
    {text:"Child2", value:2},
    {text:"Child3", value:3},
];

options2 = [
    {text:"newChild1", value:'5'},
    {text:"newChild2", value:'6'},
    {text:"newChild3", value:'7'},
];

function onSelect(e){
    var value = e.sender.value();
    switch (value) {
        case 5:
        case 6:
        case 7:

           // Printing a combination string of both drop downlist's selected value(Example: "5_1")

            break;

        default:

            break;
    }
}

获取下拉列表值存在问题。要获取第一行&#39; child1下拉列表&#39;价值(在更改&#39; child2下拉列表&#39;在第一行)我用过 $(this.element).closest(".parent2").siblings(".parent1").find(".child1").data("kendoDropDownList").value();

但我收到如下错误: -

Uncaught TypeError: Cannot read property 'value' of undefined

请帮忙

1 个答案:

答案 0 :(得分:1)

将您的DOM导航表达式更改为:

$(this.element).closest(".parent2").siblings(".parent1").find("div.child1").data("kendoDropDownList").value();

Here你可能会找到一个有效的例子。

基本上问题是find(.child1)返回2个DOM元素,你必须修复那个选择器才能到达正确的组件。