[
https://issues.apache.org/jira/browse/WW-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16700989#comment-16700989
]
Aleksandr Mashchenko commented on WW-4987:
------------------------------------------
Use plain html optgroup with {{<s:iterator>}}.
The real power of {{listCssClass}} comes from evaluating expression against
value stack, so something like this: {{<s:select list="#{'one':'1', 'two':'2'}"
listCssClass="key">}} will be translated into options with {{class="one"}} and
{{class="two"}} respectively. Or even {{<s:set var="cls" value="#{'one':
'thisinone', 'two': 'thisistwo'}"/> <s:select list="#{'one':'1', 'two':'2'}"
listCssClass="#cls[key]">}} -> {{class="thisinone"}} and {{class="thisistwo"}}.
The {{listCssClass}} from select can be applied to optgroups in it, but it
won't work for every case. For example if select's {{list}} is a map and
optgroup's {{list}} is a list.
> Setting Struts2 <s:select> options Css Class
> --------------------------------------------
>
> Key: WW-4987
> URL: https://issues.apache.org/jira/browse/WW-4987
> Project: Struts 2
> Issue Type: Bug
> Components: Core Tags
> Affects Versions: 2.5.17
> Reporter: Muhammad Salman
> Priority: Major
> Fix For: 2.6, 2.5.19
>
>
> Hi
> I am working on an application that is built on struts 2.5.17. I have
> {{<s:select>}} tag with <optgroup> and <option>. I am trying to add cssClass
> to <options> under <optgroup>. I am trying to add css class to <option> using
> listCssClass attribute of {{<s:select>}} but it is not adding class to the
> <option>. Any help would be much appreciated.
> Here is code from my JSP:
> {code:xml}
> <s:select list="#\{'none':'-Select Template-'}" id="export-data"
> cssStyle="width:250px;" title="templateDesc" cssClass="templateType"
> onchange="adjustReportText()" name="templateID" listCssClass="templateType">
> <s:iterator value="\{SOME MAP WITH KEY AND LIST OF VALUES}" var="TG"
> status="stat">
> <s:optgroup label="%\{key}" list="%\{value}" listKey="templateId"
> listValue="templateName" ></s:optgroup>
> </s:iterator>
> </s:select>
> {code}
> Initially we were working on struts 2.2.3 version and in that version,
> cssClass attribute populates the CSS Class for <option>, but in 2.5.17
> neither cssClass is populated class to <option> nor listCssClass.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)