XForms: установить выбор по умолчанию в раскрывающемся списке привязки

У меня есть основной экземпляр с именем myinstance, который имеет цвет элемента. Цвет может быть «Красный», «Синий», «Зеленый» или «Желтый». Цвета заполняются в раскрывающемся списке из другого экземпляра, называемого «colorsinstance». Когда моя форма загружается, я хочу, чтобы по умолчанию в раскрывающемся списке было установлено значение «Зеленый» в привязке набора узлов.

<instance id="colorsinstance">  
    <items>
        <item label="Color1" value="Red"/>
        <item label="Color2" value="Blue"/>
        <item label="Color3" value="Green"/>
        <item label="Color4" value="Yellow"/>
    </items>
</instance>

Привязка основного экземпляра выглядит следующим образом:

<xforms:bind nodeset="instance('myinstance')">
    <xforms:bind nodeset="./color" required="true()"/>
</xforms:bind>

person Purni    schedule 10.06.2010    source источник


Ответы (1)


Значение по умолчанию в раскрывающемся списке будет отражать значение, хранящееся в экземпляре. Вы можете указать значение по умолчанию непосредственно в своем экземпляре, например:

<color>Green</color>

Или вы можете установить значение, используя setvalue, например. это в вашей модели:

<xforms:setvalue ev:event="xforms-model-construct-done"
                 ref="color">Green</xforms:setvalue>

Обновлено после вашего комментария: если вы хотите использовать расширение Orbeon Forms xxforms: default, попробуйте:

<xforms:bind nodeset="./color" required="true()" xxforms:default="'Green'"/>

Также обновлено, чтобы отразить тот факт, что данные экземпляра должны содержать «Зеленый», а не «Цвет3».

person ebruchez    schedule 11.06.2010
comment
Согласен, я мог бы сделать это таким образом. Но у меня есть конкретные инструкции по установке значения по умолчанию только в привязке набора узлов с помощью xxforms:default. Мне нужно установить значение instance('myinstance')/color = Green, взяв значение Green из colorsinstance. - person Purni; 11.06.2010
comment
@ebruchez, я новый пользователь orbeon. Не могли бы вы помочь с моим запросом, stackoverflow.com/questions/29213996/. Я пробовал многие с несколькими сборками с несколькими операторами отладки, но я использовал и потратил 3 дня, чтобы найти это простое решение. Любые предложения, пожалуйста - person Vinod; 24.03.2015
comment
@ebruchez, немного обновил мой вопрос. Мне нужно какое-то предложение. Пожалуйста помоги. stackoverflow.com/questions/29213996/ - person Vinod; 24.03.2015