开发者

XForms: set default selection in dropdown in binding

I have a main instance named 'myinstance' which has the element color. Color can be 'Red', 'Blue', 'Green' or ''Yellow'. The colors are populated in a drop-down from another instance called 'colorsinstance'. When my form loads, I want the default in the dropdown to be set to 'Green' in the nodeset binding.

<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>

Main instance binding is as follows:

<xforms:bind nodes开发者_StackOverflow中文版et="instance('myinstance')">
    <xforms:bind nodeset="./color" required="true()"/>
</xforms:bind>


The default value of the dropdown will reflect the value stored in the instance. You can either put the default directly in your instance, e.g.:

<color>Green</color>

Or you can set the value using setvalue, e.g. this in your model:

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

Updated following your comment: if you want to use the Orbeon Forms xxforms:default extension, then try:

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

Also updated to reflect the fact that instance data must contain "Green", not "Color3".

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜