我在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>