我有一个使用级联的两个kendoDropDownList
的网页。第一个是 States ,第二个是 Cities 。当您选择州时,您可以让 City 从第二个DropDownList
中进行选择。如果我使用鼠标选择它们,这非常有效。
问题是当我尝试将某些数据绑定到更新 State 而不是 City 的DropDownLists时。
这是我的网页的HTML:
<div id="container">
<input id="state" name="state" data-bind="value: state"/>
<input id="city" name="city" data-bind="value: city"/>
</div>
这是JavaScript:
var state = $("#state").kendoDropDownList({
dataTextField: "state",
dataValueField:"state",
dataSource: {
serverFiltering:true,
data: states
},
change: function () {
console.log("state changed");
}
}).data("kendoDropDownList");
var city = $("#city").kendoDropDownList({
autoBind: false,
dataTextField: "city",
dataValueField:"city",
cascadeFrom: "state",
dataSource: {
serverFiltering:true,
transport: {
read:function (operation) {
var ds = cities [state.value()];
if (ds) {
return operation.success(ds);
} else {
return operation.success(["N/A"]);
}
}
}
}
}).data("kendoDropDownList");
如果我使用以下代码绑定数据:
kendo.bind($("#container"), { state:"California", city: "Berkeley" });
除非州 DropDownList
已包含值California
,否则不会将city
设置为Berkeley
。
似乎使用bind
不会触发 States change
中的DropDownList
事件,然后 City DropDownList
没有重新加载新州的 Cities 。
您可以在http://jsfiddle.net/OnaBai/QUhEX/3/
中找到此代码我应该如何将级联与 MVVM绑定一起使用?