You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Rainer Hermanns (JIRA)" <ji...@apache.org> on 2009/04/22 16:07:07 UTC

[jira] Resolved: (WW-2809) doubleselect ignores preselection of a multiple subselect

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

Rainer Hermanns resolved WW-2809.
---------------------------------

    Resolution: Fixed
      Assignee: Rainer Hermanns

fixed in trunk

> doubleselect ignores preselection of a multiple subselect
> ---------------------------------------------------------
>
>                 Key: WW-2809
>                 URL: https://issues.apache.org/struts/browse/WW-2809
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.1.2
>            Reporter: Markus Katz
>            Assignee: Rainer Hermanns
>            Priority: Minor
>             Fix For: 2.1.7
>
>         Attachments: doubleselect.ftl
>
>
> template/simple/doubleselect.ftl contains the following snippet to preselect the subselection:
>         for (i = 0; i < ${parameters.id}Group[x].length; i++) {
>             ${parameters.id}Temp.options[i] = new Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value);
>             <#if parameters.doubleNameValue?exists>
>             	if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue}') {
>             		${parameters.id}Temp.options[i].selected = true;
>             		selected = true;
>             	}
>             </#if>
>         }
> In the case of a multiple subselect the doubleNameValue is a collection of ids. In this case the single ...Temp.options[i].value is compared to a collection object which fails for all items.
> I´d suggest a patch like:
>         for (i = 0; i < ${parameters.id}Group[x].length; i++) {
>             ${parameters.id}Temp.options[i] = new Option(${parameters.id}Group[x][i].text, ${parameters.id}Group[x][i].value);
>             <#if parameters.doubleNameValue?exists>
>                    <#if parameters.doubleMultiple?exists>
>                          for (j = 0; j < ${parameters.doubleNameValue}.length; j++) {
>                              if (${parameters.id}Temp.options[i].value == ${parameters.doubleNameValue}[j]) {
>                                ${parameters.id}Temp.options[i].selected = true;
> 	     selected = true;
> 	   }
> 	}
>                       <#else>
> 	 if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue}') {
> 	   ${parameters.id}Temp.options[i].selected = true;
> 	   selected = true;
> 	 }
>                       </#if>
>                  </#if>
>             }

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