我正在使用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
请帮忙
答案 0 :(得分:1)
将您的DOM导航表达式更改为:
$(this.element).closest(".parent2").siblings(".parent1").find("div.child1").data("kendoDropDownList").value();
Here你可能会找到一个有效的例子。
基本上问题是find(.child1)
返回2个DOM元素,你必须修复那个选择器才能到达正确的组件。