如何从 dxList 访问项目数据,Devextreme Mobile

How to access item data from dxList ,Devextreme Mobile

HTML

<div data-bind="dxList: { dataSource: dataSource }">
  <div data-options="dxTemplate : { name: 'item' } " >
    <div class="list-item" data-bind="text: name"></div>
    <div data-bind="dxCheckBox: {value: check }"></div>
  </div>
</div>

<div data-bind="text: 'Save', click: save"></div>

Javascript

var dataSource = ko.observableArray([]);
dataSource.push({ name: "name1", check: true });
dataSource.push({ name: "name2", check: false });
save: function () {

}

Devextreme mobile 如何在保存函数中获取 'name' 和 'check' 值?

您可以使用 dataSource 数组。

var save = function () {
    var items = dataSource();

    console.log(items[0].name + " - " + items[0].check());
    console.log(items[1].name + " - " + items[1].check());
};

如果只想获取选中的项目,可以使用jQuery.grep函数过滤数据。

var items = $.grep(dataSource(), function(item){
    return item.check() === true;
});

此外,我建议您使用ko.observable() 来定义项目的check 字段。它允许您跟踪 check 字段的更改。

http://jsfiddle.net/d4t1pqby/3/