我在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>
如果我在a4j中使用event="onchange"
,则不会调用我的generatePrescriptionQuantity
,但如果我使用event="onblur"
则效果正常。所以我认为这是列表框的onchnage方法的原因。实际上我必须在变化上产生这种效果,并且还必须调用那些脚本。
更新
当我做下面的修改时,第一次选择的问题解决了,但是对于第二次选择(这只是在第一次选择下面)同样的问题继续...我不明白为什么这是????
<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>
答案 0 :(得分:1)
h4:selectOneListbox中的onchange是否与a4j:support中的onchange不兼容?尝试从列表框中删除onchange并将其放在a4j标记的onsubmit属性中。