0

我在jsp页面中有如下代码...

<h:selectOneListbox size="1" id="doseUnit"  onchange="generateSignature(),quantityUnitSelecator()" value="#{templatePrescriptionMaintenanceBackingBean.prescriptionUnit}">
<f:selectItems value="#{templatePrescriptionMaintenanceBackingBean.doseUnit}"/>
<a4j:support ajaxSingle="true" reRender="quantity,signature,signatureHidden,doseWarningList" actionListener="#{templatePrescriptionMaintenanceBackingBean.generatePrescriptionQuantity}"
event="onchange">
</a4j:support>

如果我event="onchange"在 a4j 中使用它不会调用我的generatePrescriptionQuantity,但如果我使用event="onblur"它可以正常工作。所以我认为这是列表框的 onchnage 方法的原因。实际上,我必须在更改时产生这种效果,并且还必须调用该脚本。


更新


当我进行以下修改时,第一个选择的问题已解决,但第二个选择(位于第一个 selectone 下方)同样的问题继续存在......我不明白为什么这是 ????

<h:selectOneListbox size="1" id="doseUnit" value="#{templatePrescriptionMaintenanceBackingBean.prescriptionUnit}">
<f:selectItems value="#{templatePrescriptionMaintenanceBackingBean.doseUnit}"/>
<a4j:support ajaxSingle="true" reRender="quantity,signature,signatureHidden,doseWarningList" actionListener="#{templatePrescriptionMaintenanceBackingBean.generatePrescriptionQuantity}"
event="onchange" oncomplete="generateSignature(),quantityUnitSelecator()">
</a4j:support>

<h:selectOneListbox size="1" id="route" value="#{templatePrescriptionMaintenanceBackingBean.prescriptionRoute}">
<f:selectItems value="#{templatePrescriptionMaintenanceBackingBean.route}"/>
<a4j:support ajaxSingle="true" reRender="quantity,signature,signatureHidden,doseWarningList" actionListener="#{templatePrescriptionMaintenanceBackingBean.generatePrescriptionQuantity}"
event="onchange" oncomplete="generateSignature()">
</a4j:support>

4

1 回答 1

1

会不会是您在 h:selectOneListbox 中的 onchange 不能很好地与 a4j:support 中的 onchange 配合使用?尝试从列表框中删除您的 onchange 并将其放在 a4j 标记的 onsubmit 属性中。

于 2012-09-12T14:53:51.607 回答