DevExtreme动态dxSelectBox清除选项问题

时间:2015-01-09 07:01:30

标签: jquery mvvm knockout.js devexpress devextreme

我动态创建了两个带有值的dxSelectBox控件。我执行以下步骤

第1步:选择" India"从首选框项目

第2步:选择"孟买"从第二个选择框项目

第3步:(我的问题)选择" USA"在第一个选择框中,我需要清除第二个选择框值,但它不清除该值。

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;
 };

1 个答案:

答案 0 :(得分:0)

DevExtreme 14.1和14.2.3中存在一个错误,其清除值为dxSelectBox。

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

它在即将到来的14.2.4中得到修复。现在您可以下载那里提供的修补程序。