2

我用动态值创建了两个 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;
 };
4

1 回答 1

0

DevExtreme 14.1 和 14.2.3 中有一个清除 dxSelectBox 值的错误。

请参阅https://www.devexpress.com/Support/Center/Question/Details/T183377

它已在即将发布的 14.2.4 中修复。现在,您可以下载那里可用的修补程序。

于 2015-01-10T14:03:08.917 回答