如何获取每个sap.m.select元素

时间:2015-09-05 11:06:14

标签: javascript json sapui5 sap.m

<m:Table id="tableId"
    inset="false"
    mode="MultiSelect"
    width = "100%"
    fixedLayout="false"
    border-collapse="collapse"
    items="{
        path: 'jsonViewModel>/results',
        sorter: {
            path: 'ProductId'
        }
    }">
    <columns>
        <Column
            minScreenWidth="Desktop"
            demandPopin="true">
            <Text text="Product No" />
        </Column>
        <Column
             minScreenWidth="Desktop"
             demandPopin="true"
             hAlign="Left">
             <Text text="Model" />
        </Column>...
    </columns>
    <items>
        <ColumnListItem>
             <cells>
                 <ObjectIdentifier
                     title="{jsonViewModel>ProductId}"/>
                 <Select id="selectId"
                     items="{
                         path: '/ModelList',
                         sorter: { path: 'Name' }
                     }">
                     <core:Item key="{modelId}" text="{Name}" />
                 </Select>...
            </cells>
        </ColumnListItem>
    </items>
</Table>   

首先,我有一个jsonViewModel,它持有Products JSON数组,还有一个ModelList服务,它给我模型列表。所以我应该能够填充一些输入(我没有显示其他输入因为我可以检索它们的值)并选择产品模型。但是,如果我有5个产品,我也有5个选择元素,我无法检索每行的选择项目(对于每个产品)。例如,我无法在控制器中使用这些代码检索值:

var oSelect = this.getView().byId("selectId");
var selectedItemObject = oSelect.getSelectedItem().getBindingContext().getObject();
var selectedModelName = selectedItemObject.Name;

因为我确实有5个选择元素,并且使用这些代码我无法检索每个选定的项目对象。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我们不能遍历每一行然后获取select控件然后获取selectedItem吗?我的意思是,

var aItems = this.getView().byId("tableId").getItems();
for(var i =0;i<aItems.length;i++){
    var aCells = aItems[i].getCells();
    // I know select is at 0th cell, so I can use aCells[0].
    var rowSelectedKey = aCells[0].getSelectedItem().getKey();
    // once you have the selcetedKey, you can save them in a local array or //      model   and after the loop, you can work with them
}
相关问题