mirror of
https://github.com/apache/struts.git
synced 2026-08-07 15:46:57 +00:00
WW-2357: doubleEmptyOption, doubleHeaderKey and doubleHeaderValue ignored in doubleselect tag
git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@1211074 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -29,127 +29,140 @@
|
||||
<#assign startCount = startCount + 1/>
|
||||
</#if>
|
||||
|
||||
<br />
|
||||
<br/>
|
||||
<select<#rt/>
|
||||
name="${parameters.doubleName?default("")?html}"<#rt/>
|
||||
name="${parameters.doubleName?default("")?html}"<#rt/>
|
||||
<#if parameters.disabled?default(false)>
|
||||
disabled="disabled"<#rt/>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleTabindex??>
|
||||
tabindex="${parameters.doubleTabindex?html}"<#rt/>
|
||||
tabindex="${parameters.doubleTabindex?html}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleId??>
|
||||
id="${parameters.doubleId?html}"<#rt/>
|
||||
id="${parameters.doubleId?html}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleCss??>
|
||||
class="${parameters.doubleCss?html}"<#rt/>
|
||||
class="${parameters.doubleCss?html}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleStyle??>
|
||||
style="${parameters.doubleStyle?html}"<#rt/>
|
||||
style="${parameters.doubleStyle?html}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.title??>
|
||||
title="${parameters.title?html}"<#rt/>
|
||||
title="${parameters.title?html}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.multiple?default(false)>
|
||||
multiple="multiple"<#rt/>
|
||||
multiple="multiple"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.get("doubleSize")??>
|
||||
size="${parameters.get("doubleSize")?html}"<#rt/>
|
||||
size="${parameters.get("doubleSize")?html}"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleMultiple?default(false)>
|
||||
multiple="multiple"<#rt/>
|
||||
multiple="multiple"<#rt/>
|
||||
</#if>
|
||||
<#if parameters.doubleDisabled?default(false)>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
>
|
||||
</select>
|
||||
<#if parameters.doubleMultiple?default(false)>
|
||||
<input type="hidden" id="__multiselect_${parameters.doubleId?html}" name="__multiselect_${parameters.doubleName?default("")?html}" value=""<#rt/>
|
||||
<#if parameters.doubleDisabled?default(false)>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
/>
|
||||
<input type="hidden" id="__multiselect_${parameters.doubleId?html}"
|
||||
name="__multiselect_${parameters.doubleName?default("")?html}" value=""<#rt/>
|
||||
<#if parameters.doubleDisabled?default(false)>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
/>
|
||||
</#if>
|
||||
<script type="text/javascript">
|
||||
<#assign itemCount = startCount/>
|
||||
<#assign itemCount = startCount/>
|
||||
var ${parameters.id}Group = new Array(${parameters.listSize} + ${startCount});
|
||||
for (i = 0; i < (${parameters.listSize} + ${startCount}); i++)
|
||||
${parameters.id}Group[i] = new Array();
|
||||
${parameters.id}Group[i] = new Array();
|
||||
|
||||
<@s.iterator value="parameters.list">
|
||||
<#if parameters.listKey??>
|
||||
<#assign itemKey = stack.findValue(parameters.listKey)/>
|
||||
<#else>
|
||||
<#assign itemKey = stack.findValue('top')/>
|
||||
</#if>
|
||||
<#if parameters.listValue??>
|
||||
<#assign itemValue = stack.findString(parameters.listValue)/>
|
||||
<#else>
|
||||
<#assign itemValue = stack.findString('top')/>
|
||||
</#if>
|
||||
<#assign doubleItemCount = 0/>
|
||||
<@s.iterator value="parameters.list">
|
||||
<#if parameters.listKey??>
|
||||
<#assign itemKey = stack.findValue(parameters.listKey)/>
|
||||
<#else>
|
||||
<#assign itemKey = stack.findValue('top')/>
|
||||
</#if>
|
||||
<#if parameters.listValue??>
|
||||
<#assign itemValue = stack.findString(parameters.listValue)/>
|
||||
<#else>
|
||||
<#assign itemValue = stack.findString('top')/>
|
||||
</#if>
|
||||
<#assign doubleItemCount = 0/>
|
||||
<#if parameters.doubleHeaderKey?? && parameters.doubleHeaderValue??>
|
||||
${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleHeaderValue?js_string}", "${doubleHeaderKey?js_string}");
|
||||
<#assign doubleItemCount = doubleItemCount + 1/>
|
||||
</#if>
|
||||
<#if parameters.doubleEmptyOption??>
|
||||
${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("", "");
|
||||
<#assign doubleItemCount = doubleItemCount + 1/>
|
||||
</#if>
|
||||
<@s.iterator value="${parameters.doubleList}">
|
||||
<#if parameters.doubleListKey??>
|
||||
<#assign doubleItemKey = stack.findValue(parameters.doubleListKey)/>
|
||||
<#else>
|
||||
<#assign doubleItemKey = stack.findValue('top')/>
|
||||
<#else>
|
||||
<#assign doubleItemKey = stack.findValue('top')/>
|
||||
</#if>
|
||||
<#assign doubleItemKeyStr = doubleItemKey.toString() />
|
||||
<#if parameters.doubleListValue??>
|
||||
<#assign doubleItemValue = stack.findString(parameters.doubleListValue)/>
|
||||
<#else>
|
||||
<#assign doubleItemValue = stack.findString('top')/>
|
||||
<#else>
|
||||
<#assign doubleItemValue = stack.findString('top')/>
|
||||
</#if>
|
||||
${parameters.id}Group[${itemCount}][${doubleItemCount}] = new Option("${doubleItemValue?js_string}", "${doubleItemKeyStr?js_string}");
|
||||
|
||||
<#assign doubleItemCount = doubleItemCount + 1/>
|
||||
</@s.iterator>
|
||||
<#assign itemCount = itemCount + 1/>
|
||||
</@s.iterator>
|
||||
<#assign itemCount = itemCount + 1/>
|
||||
</@s.iterator>
|
||||
|
||||
var ${parameters.id}Temp = document.${parameters.formName}.${parameters.doubleId};
|
||||
<#assign itemCount = startCount/>
|
||||
<#assign redirectTo = 0/>
|
||||
<@s.iterator value="parameters.list">
|
||||
<#if parameters.listKey??>
|
||||
<#assign itemKey = stack.findValue(parameters.listKey)/>
|
||||
<#else>
|
||||
<#assign itemKey = stack.findValue('top')/>
|
||||
</#if>
|
||||
<#if tag.contains(parameters.nameValue, itemKey)>
|
||||
<#assign redirectTo = itemCount/>
|
||||
</#if>
|
||||
<#assign itemCount = itemCount + 1/>
|
||||
</@s.iterator>
|
||||
<#assign itemCount = startCount/>
|
||||
<#assign redirectTo = 0/>
|
||||
<@s.iterator value="parameters.list">
|
||||
<#if parameters.listKey??>
|
||||
<#assign itemKey = stack.findValue(parameters.listKey)/>
|
||||
<#else>
|
||||
<#assign itemKey = stack.findValue('top')/>
|
||||
</#if>
|
||||
<#if tag.contains(parameters.nameValue, itemKey)>
|
||||
<#assign redirectTo = itemCount/>
|
||||
</#if>
|
||||
<#assign itemCount = itemCount + 1/>
|
||||
</@s.iterator>
|
||||
${parameters.id}Redirect(${redirectTo});
|
||||
function ${parameters.id}Redirect(x) {
|
||||
var selected = false;
|
||||
var selected = false;
|
||||
for (m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) {
|
||||
${parameters.id}Temp.remove(m);
|
||||
}
|
||||
|
||||
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?js_string}[j]) {
|
||||
${parameters.id}Temp.options[i].selected = true;
|
||||
selected = true;
|
||||
}
|
||||
}
|
||||
<#else>
|
||||
if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue?js_string}') {
|
||||
${parameters.id}Temp.options[i].selected = true;
|
||||
selected = true;
|
||||
}
|
||||
</#if>
|
||||
</#if>
|
||||
}
|
||||
<#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?js_string}[j]) {
|
||||
${parameters.id}Temp.options[i].selected = true;
|
||||
selected = true;
|
||||
}
|
||||
}
|
||||
<#else>
|
||||
if (${parameters.id}Temp.options[i].value == '${parameters.doubleNameValue?js_string}') {
|
||||
${parameters.id}Temp.options[i].selected = true;
|
||||
selected = true;
|
||||
}
|
||||
</#if>
|
||||
</#if>
|
||||
}
|
||||
|
||||
if ((${parameters.id}Temp.options.length > 0) && (! selected)) {
|
||||
${parameters.id}Temp.options[0].selected = true;
|
||||
${parameters.id}Temp.options[0].selected = true;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user