添加了组件:
<xp:radioGroup id="radioGroup1" layout="lineDirection">
<xp:selectItem itemLabel="1" itemValue="1"></xp:selectItem>
<xp:selectItem itemLabel="2" itemValue="2"></xp:selectItem>
<xp:selectItem itemLabel="3" itemValue="3"></xp:selectItem>
</xp:radioGroup>
如何通过按下按钮添加新的selectItem?对于ssjs?
答案 0 :(得分:2)
向selectItems
添加radioGroup
属性,该属性从viewScope中读取其他选项。在view按钮中设置viewScope,并添加带有标签和值的Java对象SelectItem
的新选项:
<xp:radioGroup id="radioGroup1" layout="lineDirection">
<xp:selectItem itemLabel="1" itemValue="1"></xp:selectItem>
<xp:selectItem itemLabel="2" itemValue="2"></xp:selectItem>
<xp:selectItem itemLabel="3" itemValue="3"></xp:selectItem>
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:viewScope.selectItems}]]></xp:this.value>
</xp:selectItems>
</xp:radioGroup>
<xp:button
value="Add option"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:
if (!viewScope.selectItems) {
viewScope.selectItems = [];
}
viewScope.selectItems.add(new javax.faces.model.SelectItem("Value1", "Label1"));
}]]></xp:this.action>
</xp:eventHandler></xp:button>
答案 1 :(得分:0)
尝试Knut对Xpages add values into Combo Box的回答。组合框和无线电组都使用相同的底层组件作为选项。
如果您尝试从按钮动态地将xp:selectItem元素添加到radioGroup组件,则该选项仅可用于该部分刷新。刷新一个区域再次包含radioGroup,它将恢复为您的设计中专门编码的选项。如果您使用的是viewScope变量,则会保留页面生命周期的选项。