我有一个main.controller.js,我想检查一个Checkbox的值。如果选中该复选框,将显示第一个flexbox,第二个flexbox将不会显示在片段中。
这是我的controller.js:
checkDone: function () {
var checkV = this.byId("ch1").getSelected();// not working
}
这是我的 fragment.xml
<CheckBox id="ch1" select ="checkDone" text="Check"></CheckBox>
<FlexBox class="sapUiSmallMarginEnd" id="f1">
<Input value=""></Input>
</FlexBox>
<FlexBox direction="Column" id="f2">
<Input value=""></Input>
</FlexBox>
答案 0 :(得分:0)
而不是getSelected()
尝试getChecked()
。
getChecked()
将根据选中/取消选中返回true或false。
答案 1 :(得分:0)
此代码有效(请参阅sap.m.Checkbox here的示例)。
只是一个建议:在您使用的复选框'select'处理程序中:
this.byId("ch1").getSelected();
是否选中了复选框,但此值已作为select处理程序的参数给出:
checkDone: function (oEvent) {
var bSelected = oEvent.getParameter('selected'));
}
Simmilar适用于sap.ui.commons.Checkbox API。检查change event。
答案 2 :(得分:0)
看起来View.byId
函数以初始形式返回一个元素。当您从DOM
找到元素时,getSelected()
函数按预期工作。