2

我有一个如下所示的双重选择。

<s:doubleselect name="category" 
    label="Category and Sub-category" 
    list="{'Fruits','Vegetables'}" 
    doubleName="subcategory" 
    doubleList="top=='Fruits'?{'Apple','Orange'}:{'Cabbage','Carrot'}"
    onchange="javascript:alert('hello1');"
    doubleOnchange="javascript:alert('hello2');">
</s:doubleselect>

但是,doubleOnchange 属性不起作用。在 doubleOnchange 中编码的 javascript 没有执行。

当我们在第一次选择中更改值时,onchange 中的 javascript 会执行并且用户会收到警报“hello1”。

但是当我们在第二次选择中更改值时,doubleOnchange 中的 javascript 不会执行。

有什么解决方案或解决方法吗?

我在 Eclipse 的 projectname/WebContent/WEB-INF/lib 文件夹中包含了以下 jar 文件

asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.6.jar
struts2-core-2.3.8.jar
xwork-core-2.3.8.jar

谢谢,

4

1 回答 1

2

感谢Aleksandr M给出的指针,我得到了以下问题的答案。

将 template\simple 复制到 Eclipse 中项目下的 Java Resources\src 文件夹中,
修改 template\simple.ftl 中的 select 标签如下:

....
<select<#rt/>
        name="${parameters.doubleName?default("")?html}"<#rt/>
<#if parameters.disabled?default(false)>
        disabled="disabled"<#rt/>
</#if>
<#if parameters.doubleTabindex??>
        tabindex="${parameters.doubleTabindex?html}"<#rt/>
</#if>
........................
........................
<#if parameters.doubleOnchange??>
    onchange="${parameters.doubleOnchange?html}"
</#if>
        >
</select>
....

早些时候,下面的 doubleOnchange 代码丢失了。

<#if parameters.doubleOnchange??>
    onchange="${parameters.doubleOnchange?html}"
</#if>

这部分代码是从 optiontransferselect.ftl 复制的

于 2013-07-19T11:36:29.300 回答