Jsf PrimeFaces动态禁用和启用按钮actionListener不会被激发
我的xhtml如下所示:Jsf PrimeFaces动态禁用和启用按钮actionListener不会被激发,jsf,primefaces,Jsf,Primefaces,我的xhtml如下所示: <p:dataTable rowKey="#{item.idMajor}" editable="true" selectionMode="single" value="#{majorController.beans}" selection="#{majorController.selectedBean}" var="item" id="majorsTable" lazy="true" pa
<p:dataTable
rowKey="#{item.idMajor}"
editable="true"
selectionMode="single"
value="#{majorController.beans}"
selection="#{majorController.selectedBean}"
var="item"
id="majorsTable"
lazy="true"
paginator="true"
rows="5"
rowsPerPageTemplate="5,10,15"
>
<p:column headerText="Nazwa">
<h:outputText value="#{item.nameAsEnum.toString()}"/>
</p:column>
<p:column headerText ="Symbol">
<h:outputText value="#{item.symbolAsEnum.toString()}"/>
</p:column>
<p:ajax update=":form1:adminView:deleteMajorButton,
:form1:adminView:editMajorButton,
:form1:adminView:connectSubjectsButton"
event="rowSelect"/>
<p:ajax update=":form1:adminView:deleteMajorButton,
:form1:adminView:editMajorButton,
:form1:adminView:connectSubjectsButton"
event="rowUnselect"/>
</p:dataTable>
<p:commandButton value="Nowy"
type="button"
onclick="newMajorDlg.show()"
/>
<p:commandButton value="Usuń"
actionListener="#{majorController.onClickDelete()}"
id="deleteMajorButton"
process="@this,majorsTable"
disabled="#{not majorController.itemSelected}"
update=":form1"/>
<p:commandButton value="Edytuj"
process="@this,majorsTable"
id="editMajorButton"
update=":form1:adminView:editMajorDialog"
disabled="#{not majorController.itemSelected}"
oncomplete="editMajorDlg.show()"/>
<p:commandButton value="Przypisz przedmioty"
actionListener="#{majorController.loadPickList()}"
id="connectSubjectsButton"
disabled="#{not majorController.itemSelected}"
process="@this,majorsTable"
update=":form1:adminView:subjectPickListDialog"
oncomplete="subjectPickDlg.show()"
/>
当datatable中并没有选择项时,我尝试禁用按钮。
禁用和启用按钮正常工作,但在启用按钮操作侦听器之后
连接到该按钮不会着火
感谢您在advatage中提供的帮助。在禁用按钮之前,按钮是否正常工作?您能否从浏览器的javascript控制台确认按钮确实已启用,并在单击按钮时向服务器发送请求?我的直觉是这些按钮没有被正确启用,这就是为什么在请求处理过程中这些命令被忽略的原因