我的view.xml中有sap.m单选按钮组
<m:RadioButtonGroup valueState="" select="changeRegion()">
<m:buttons>
<m:RadioButton id="rb-S" text="S"/>
<m:RadioButton id="rb-MW" text="MW"/>
<m:RadioButton id="rb-NE" text="NE"/>
<m:RadioButton id="rb-W" text="W"/>
</m:buttons>
</m:RadioButtonGroup>
在我的Controller.js
中changeRegion: function(e){
console.log(e.getParameter('selectedIndex'));
}
我可以访问所选单选按钮的索引。有没有办法获取所选单选按钮的文本?
答案 0 :(得分:1)
这绝对有可能。你已经拥有了索引,现在只需要radiobuttons的集合并选择带有相应索引的radionbutton。一旦你有了radiobutton,就可以阅读它的文字。
这是如何做到的:
var idx = e.getParameter("selectedIndex");
var button = e.getSource().getButtons()[idx];
var txt = button.getText();
或简而言之:
var txt = e.getSource().getButtons()[e.getParameter("selectedIndex")].getText()
您可以查看this jsbin以查看其实际效果
答案 1 :(得分:1)
最简单的方法是:
e.getSource().getSelectedButton().getText();
答案 2 :(得分:0)
我想我找到了一个不同的选项来阅读所选的单选按钮文本..就好像有人需要它一样。
您需要将Id设置为单选按钮组,例如:
<m:RadioButtonGroup id='radioButtonGroup' valueState="" select="changeRegion()">
<m:buttons>
<m:RadioButton id="rb-S" text="S"/>
<m:RadioButton id="rb-MW" text="MW"/>
<m:RadioButton id="rb-NE" text="NE"/>
<m:RadioButton id="rb-W" text="W"/>
</m:buttons>
然后,您可以从所选的单选按钮获取文本,如下所示:
var text = sap.ui.getCore().byId(this.createId("radioButtonGroup")).getSelectedButton().getText();