jQuery event is executed once only (Primefaces 3.2, JSF 2.2) -
we using primefaces,jsf.
i have following datatable:
<p:datatable var="datarow" first="#{wirkungsgradeeditbean.firstrowindex}" value="#{wirkungsgradeeditbean.wirkgradlist}" editable="true" id="table" paginator="true" rows="#{wirkungsgradeeditbean.rowsperpage}" paginatortemplate="{currentpagereport} {firstpagelink} {previouspagelink} {pagelinks} {nextpagelink} {lastpagelink} {rowsperpagedropdown}" rowsperpagetemplate="15,25,35"> <p:column headertext="#{msg.table_wirkungsgrade_wirk4}"> <p:celleditor> <f:facet name="output"> <h:outputtext value="#{datarow.wirk4}" /> </f:facet> <f:facet name="input"> <p:inputtext value="#{datarow.wirk4}" required="true" /> </f:facet> </p:celleditor> </p:column> <p:column headertext="#{msg.column_head_edit}"> <p:roweditor /> <p:commandbutton icon="ui-icon-close" rendered="#{wirkungsgradeeditbean.renderdeletebutton}" styleclass="rainstar-button-small-edit" action="#{wirkungsgradeeditbean.btn_deleteentryclick()}" update=":form:table" widgetvar="delbut" > <f:setpropertyactionlistener value="#{datarow}" target="#{wirkungsgradeeditbean.selectedwirkgrad}" /> </p:commandbutton> </p:column> <p:ajax event="rowedit" listener="#{wirkungsgradeeditbean.btn_editentryclick}" update=":form:table" /> <p:ajax event="rowselect" listener="#{wirkungsgradeeditbean.selectro()}" update=":form:table" /> </p:datatable> now want toggle delete button when edit button (pencil symbol) pressed. following jquery construct:
$(document).ready(function(){ $("span.ui-row-editor span").click(function(){ $(this).parent().parent().children("button").toggle(); }); }); if try first time, fine. if try again, toggle not happening.
what wrong?!
when click edit button, there partial update, table recreated , handler lost. safer control delete button through jsf, update wirkungsgradeeditbean.renderdeletebutton upon edit accordingly.
edit: option use on function:
$(document).on("click", "span.ui-row-editor span", function(){ $(this).parent().parent().children("button").toggle(); }); you can fine tune more localized instead of document, not affected partial updates.
Comments
Post a Comment