[ 
https://issues.apache.org/jira/browse/TAPESTRY-1441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jesse Kuhnert updated TAPESTRY-1441:
------------------------------------

    Fix Version/s:     (was: 4.1.3)
                   4.1.4

> Autocompleter autofills textfield with unexpected value
> -------------------------------------------------------
>
>                 Key: TAPESTRY-1441
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1441
>             Project: Tapestry
>          Issue Type: Bug
>          Components: XHR/dhtml/Ajax
>    Affects Versions: 4.1.2
>         Environment: Tapestry 4.1.2 snapshot from 5-3, WinXP, Firefox 2
>            Reporter: Ben Dotte
>             Fix For: 4.1.4
>
>
> After you begin typing into an Autocompleter, the dropdown appears with 
> possible values and the textfield attempts to autofill itself. I would assume 
> it is supposed to autofill with the first available value. The problem is the 
> text it tries to autofill with is not right if the possible values don't 
> start with the value entered by the user (a contains search).
> As an example, say I have an autocompleter with the values "01 blah", "02 
> blah", "03 blah", "04 blah", and "05 blah". I type "bla" into the textfield 
> and wait for the dropdown to appear. When the dropdown appears, all of the 
> possible values appear as expected, but the textfield now says "blablah". I 
> would not expect "blah" to get appended to the "bla" I typed in as this is 
> not a valid choice.
> Either the textfield should autofill with a valid value, or it shouldn't 
> autofill at all, like the Tacos autocompleter. (I would prefer the latter.)
> Here is some code to replicate the example:
> .html:
> <form jwcid="@Form">
>       <span jwcid="[EMAIL PROTECTED]" value="ognl:curValue" 
> model="ognl:model" />
> </form>
> .java:
> public abstract String getCurValue();
> public IAutocompleteModel getModel()
> {
>       final List<String> values = Arrays.asList("01 blah", "02 blah", "03 
> blah", "04 blah", "05 blah");
>               
>       return new IAutocompleteModel()
>       {
>               public String getLabelFor(Object value)
>               {
>                       return (String) value;
>               }
>               public List getValues(String filter)
>               {
>                       List<String> result = new ArrayList<String>();
>                       
>                       for (String val : values)
>                       {
>                               if (val.contains(filter))
>                               {
>                                       result.add(val);
>                               }
>                       }
>                       return result;
>               }
>               public Object getPrimaryKey(Object value)
>               {
>                       return values.indexOf(value);
>               }
>               public Object getValue(Object primaryKey)
>               {
>                       return values.get((Integer) primaryKey);
>               }
>       };
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to