SAP UI5单选按钮组

时间:2016-06-27 21:02:12

标签: sap sapui5

我的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'));

  }

我可以访问所选单选按钮的索引。有没有办法获取所选单选按钮的文本?

3 个答案:

答案 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();