Hi!

I have a form field where users can select a number of lists or individual
members that e.g. should receive a meeting invitation.

My first solution was based on jquery-ui autocomplete but I cant get that
to work in IE. (Even jquery's autocomplete examples does not work in IE.)

I then found and wanted to try Erich Hynd's jquery multi select. See
http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/

My first attempt was to just add a tml generated <select> to my tapestry
form. (+ some js)

I.e. I intended to get / set a string encoded value with selected items by
myself.

However when submitting the form I got a stacktrace ...

Caused by: org.apache.tapestry5.ioc.util.UnknownValueException: Could not
find a coercion from type java.lang.String to type
utskicket.model.entity.MemberList.
at
org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl.findOrCreateCoercion(TypeCoercerImpl.java:276)
~[tapestry-ioc-5.3.1.jar:na]
at
org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl.access$000(TypeCoercerImpl.java:38)
~[tapestry-ioc-5.3.1.jar:na]
at
org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl$TargetCoercion.getCoercion(TypeCoercerImpl.java:94)
~[tapestry-ioc-5.3.1.jar:na]
at
org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl$TargetCoercion.coerce(TypeCoercerImpl.java:71)
~[tapestry-ioc-5.3.1.jar:na]
at
org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl.coerce(TypeCoercerImpl.java:147)
~[tapestry-ioc-5.3.1.jar:na]
at $TypeCoercer_1ab47ed4cd58.coerce(Unknown Source) ~[na:na]
at
org.apache.tapestry5.internal.services.TypeCoercedValueEncoderFactory$1.toValue(TypeCoercedValueEncoderFactory.java:45)
~[tapestry-core-5.3.1.jar:na]
at
org.apache.tapestry5.corelib.components.Loop.restoreStateFromStoredClientValue(Loop.java:470)
~[tapestry-core-5.3.1.jar:na]
at org.apache.tapestry5.corelib.components.Loop.access$500(Loop.java:64)
~[tapestry-core-5.3.1.jar:na]
at
org.apache.tapestry5.corelib.components.Loop$RestoreStateFromStoredClientValue.execute(Loop.java:185)
~[tapestry-core-5.3.1.jar:na]
at
org.apache.tapestry5.corelib.components.Loop$RestoreStateFromStoredClientValue.execute(Loop.java:174)
~[tapestry-core-5.3.1.jar:na]
at
org.apache.tapestry5.corelib.components.Form.executeStoredActions(Form.java:661)
~[tapestry-core-5.3.1.jar:na]
... 83 common frames omitted

So it seams like T5 does not like it that way!

Is there an easy way around this !?

Thanks in advance,
Gunnar Eketrapp

The selected data where assembled correctly by the
jquery-ui-multiselect-widget an delivered as

    invited=L3,M4,M2

I.e. L<id> for selected lists and M<id> for selected members.

Extract from my bad .tml  (The invited value is a String)  Note: Select is
not a T5 select :

<select id="invited" name="invited" size="10" multiple="multiple"
style="width:400px;">

    <optgroup label="Lists">
        <t:loop source="lists" value="list">
            <option value="L${list.id}">${list.name}</option>
        </t:loop>
    </optgroup>

    <optgroup label="Members">
        <t:loop source="members" value="member">
            <option value="M${member.id}">${member.name}</option>
        </t:loop>
    </optgroup>

</select>

Reply via email to