2015-01-06 4 views
1

Добавлена ​​компонента:Добавить динамический элемент в RadioGroup

<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

Попробуйте ответить Кнуту Xpages add values into Combo Box. Combo Box и Radio Group используют один и тот же базовый компонент для параметров.

Если вы попытаетесь добавить элемент xp: selectItem в компонент radioGroup динамически с помощью кнопки, опция будет доступна только для этого частичного обновления. Обновите область tat, содержащую радиогруппу, и она вернется к параметрам, специально закодированным в вашем дизайне. Если вместо этого вы используете переменную viewScope, вы сохраните параметры для жизни страницы.

2

Добавить selectItems property to radioGroup, который читает дополнительные параметры с точки зренияScope. Установите 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> 
+0

Почему вы отмените принять этот ответ после недели? Разве это не работает? –

Смежные вопросы