我用动态值创建了两个 dxSelectBox 控件。我执行以下步骤
第 1 步:从第一个选择框项目中选择“印度”
第 2 步:从第二个选择框项目中选择“孟买”
第 3 步:(我的问题)在第一个选择框中选择“美国”,然后我需要清除第二个选择框的值,但它不会清除该值。
在dxSelectBox 值更改事件中,我需要清除另一个dxSelectBox 值
HTML 代码(查看):
<div data-bind="foreach: selectlist">
<div data-bind="dxSelectBox: {dataSource: selectBoxDataSource, valueExpr: 'id',displayExpr:'name', onOpened:loaddatasource, valueChangeAction: processValueChange,value: selectValue, showClearButton:true }">
</div>
<br />
</div>
JS代码:
js代码:
Application1.About = function (params) {
var ds = [];
ds[0] = [{ "id": "1", "name": "India" }, { "id": "2", "name": "USA" }];
ds[1] = [
{ "id": "1", "name": "NewDelhi" },
{ "id": "2", "name": "Mumbai" },
{ "id": "3", "name": "California" },
{ "id": "4", "name": "Washington DC" }
];
function selectViewModel(dataSource) {
console.log(dataSource);
this.selectBoxDataSource = ko.observableArray('');
this.selectValue = ko.observable();
this.loaddatasource = function (e) {
this.selectBoxDataSource(dataSource);
};
this.processValueChange = function (e) {
viewModel.selectlist()[1].selectValue("");
}
}
var viewModel = {
selectlist: ko.observableArray(),
viewShown: function () {
this.selectlist.push(new selectViewModel(ds[0]));
this.selectlist.push(new selectViewModel(ds[1]));
}
};
return viewModel;
};