W3C home > Mailing lists > Public > www-forms@w3.org > June 2005

Hide/show select options

From: Jonathan Curtis <Jonathan.Curtis@sesame.co.uk>
Date: Mon, 6 Jun 2005 13:08:24 +0100
Message-ID: <080D146539A97F4E95B862BF4D9FBCB703B40EC0@chlexc01.sesame.com>
To: <www-forms@w3.org>
Hi all,

I have a situation where I need to hide or show an option in a select1 based on a value of another node. Whats the best approach to doing this?

At the moment I am using this:

<html xmlns:xf="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
    <head>
        <title>Test XForm</title>
        <xf:model>
            <xf:instance id="inst">
                <test>1</test>
            </xf:instance>
            <xf:instance id="form_data">
                <form_data>
                    <select>
                        <value>1</value>
                        <item>
                            <label>one</label>
                            <value>1</value>
                        </item>
                        <item>
                            <label>two</label>
                            <value>2</value>
                        </item>
                        <item>
                            <label>three</label>
                            <value>3</value>
                        </item>
                    </select>
                </form_data>
            </xf:instance>
            <xf:bind id="test" nodeset="/test"/>
            <xf:bind id="select" nodeset="instance('form_data')/select/value"/>
            <xf:bind nodeset="instance('form_data')/select/item[3]" relevant="instance('inst') = 1"/>
        </xf:model>
    </head>
    <body>
        <xf:input bind="test">
            <xf:label>test</xf:label>
        </xf:input>
        <xf:select1 bind="select">
            <xf:label>Select</xf:label>
            <xf:itemset nodeset="instance('form_data')/select/item">
                <xf:label ref="label"/>
                <xf:value ref="value"/>
            </xf:itemset>
        </xf:select1>
    </body>
</html>

With the Novell XForms plugin the option is greyed out when not applicable, but you can still select the option. Formsplayer doesn't recognise the item is not relevant.

I'm looking for the most elegant way to achieve this.

Thanks,

Jon

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
Received on Monday, 6 June 2005 12:06:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 10 March 2012 06:22:01 GMT