diff --git a/core/src/main/java/org/apache/struts2/components/DoubleSelect.java b/core/src/main/java/org/apache/struts2/components/DoubleSelect.java index 3fc3f33e1..04aaeb341 100644 --- a/core/src/main/java/org/apache/struts2/components/DoubleSelect.java +++ b/core/src/main/java/org/apache/struts2/components/DoubleSelect.java @@ -61,7 +61,7 @@ public class DoubleSelect extends DoubleListUIBean { public void evaluateExtraParams() { super.evaluateExtraParams(); StringBuilder onchangeParam = new StringBuilder(); - onchangeParam.append(getParameters().get("id")).append("Redirect(this.options.selectedIndex)"); + onchangeParam.append(getParameters().get("id")).append("Redirect(this.selectedIndex)"); if(StringUtils.isNotEmpty(this.onchange)) { onchangeParam.append(";").append(this.onchange); } diff --git a/core/src/main/resources/template/archive/simple/doubleselect.vm b/core/src/main/resources/template/archive/simple/doubleselect.vm index 4b9e51b4a..3b7ee7fd0 100644 --- a/core/src/main/resources/template/archive/simple/doubleselect.vm +++ b/core/src/main/resources/template/archive/simple/doubleselect.vm @@ -96,7 +96,7 @@ var $!struts.htmlEncode($parameters.name)Temp = document.$!struts.htmlEncode(${p $!{struts.htmlEncode($parameters.name)}Redirect($redirectTo); function $!{struts.htmlEncode($parameters.name)}Redirect(x) { for (m = $!{struts.htmlEncode($parameters.name)}Temp.options.length - 1; m >= 0; m--) - $!{struts.htmlEncode($parameters.name)}Temp.options[m] = null; + $!{struts.htmlEncode($parameters.name)}Temp.remove(m); for (i = 0; i < $!{parameters.name}Group[x].length; i++) { $!{struts.htmlEncode($parameters.name)}Temp.options[i] = new Option($!{struts.htmlEncode($parameters.name)}Group[x][i].text, $!{struts.htmlEncode($parameters.name)}Group[x][i].value); diff --git a/core/src/main/resources/template/simple/doubleselect.ftl b/core/src/main/resources/template/simple/doubleselect.ftl index 6848d9d5b..adafccaad 100644 --- a/core/src/main/resources/template/simple/doubleselect.ftl +++ b/core/src/main/resources/template/simple/doubleselect.ftl @@ -126,7 +126,7 @@ function ${parameters.id}Redirect(x) { var selected = false; for (m = ${parameters.id}Temp.options.length - 1; m >= 0; m--) { - ${parameters.id}Temp.options[m] = null; + ${parameters.id}Temp.remove(m); } for (i = 0; i < ${parameters.id}Group[x].length; i++) {