[英]Javascript lost after sort in datatable of primefaces
我在primefaces上的桌子,像这样:
<p:dataTable id="creditos" ajax="false" paginator="true" value="#{listaCreditos.proyectList}" var="cc" resizable="false" styleClass="dataTableSelProject" rows="20" width="99%" cellspacing="10" cellpadding="10" rowsPerPageTemplate="20,40,80" rowIndexVar="rowIndex">
<p:column styleClass="borderCell imgColumnOnLoans">
<div id="imagenCol-loans#{cc.proyectloanPk.proyect_loan_id}" class="imgCol-Loans">
<h:graphicImage styleClass="graphImage" url="..#{cc.proyect.image}" />
</div>
</p:column>
<p:column id="colNameTag" sortBy="#{cc.proyect.name}" rendered="true" styleClass="borderCell proyectTitle" headerText="Categoría / Título">
<div id="yui-gen62" class="yui-dt-liner proyectDetailOnLink">
<div id="yui-gen66" class="titleAndPurposeDiv">
<strong id="yui-gen65" class="browseNotesStrong breakWord">
<span id="yui-gen64" class="expand-loan-details pDLink">
<p:commandLink id="cmdLinkDetail" value="#{cc.proyect.purpose.name}" actionListener="#{summaryRequest.mapeoDatos}" action="resumen">
<f:attribute name="proyectAtrr" value="#{cc.proyectloanPk.proyect_loan_id}::#{cc.proyectloanPk.proyect_id}::#{cc.proyectloanPk.prospectus_id}::#{cc.proyectloanPk.company_id}" />
</p:commandLink>
</span>
</strong>
<div id="proyectNameTag">
<span id="yui-gen211" >
#{cc.proyect.name}
</span>
</div>
</div>
</div>
</p:column>
<p:column sortBy="#{cc.ammount}" styleClass="borderCell" >
<f:facet id="headerB" name="header" align="center">
Monto/ <br /> Tasa
</f:facet>
<div align="center" id="yui-gen130" class="yui-dt-liner">
<div align="center" id="yui-gen209" class="timeDisplay">
<h:outputText value="#{cc.ammount}">
<f:convertNumber currencySymbol="$" type="currency" groupingUsed="true" locale="es_MX"/>
</h:outputText>
</div>
<strong id="yui-gen137" class="rate"> #{cc.rate}%</strong>
</div>
</p:column>
<p:column styleClass="borderCell" sortBy="#{cc.term.months}">
<f:facet name="header" id="headerC">
Plazo
</f:facet>
<div class="termForProyect" id="yui-gen163">
<span id="yui-gen162" class="loanTypeAndLength">#{cc.term.months} meses</span>
</div>
</p:column>
。 一些专栏。 。
</p:dataTable>
但是在普通排序之后,我的JavaScript代码不起作用,当使用commandButton时,我使用onComplete标记并在JS的某些功能上执行“刷新”,如何在排序时做到这一点?
这是JS代码,只需加载一个fancybox即可通过commandButton调用fancybox:
function setFancyBox(){
$("a#ifancybox").fancybox({
'width' : 500,
'height' : 330,
'autoScale': false,
'autoDimensions': false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'type' : 'inline',
'overlayColor':'#E8E8E8'
});
$("#creditos tr:odd").addClass('par');
$.fancybox.resize();
}
这是“重新加载”并保持JS功能有效的代码。
<p:ajax update="creditOfAccount , actualAccount , creditos , :forminfo:cuentasUsr2 , :forminfo:addBtn1 , :forminfo:tagFromAccount2" oncomplete="setFancyBox();"/>
但是问题是,当我单击默认的撇号时,我该怎么做“未完成”?
primefaces数据表提供了几个ajax行为事件。 您需要使用“排序”事件。 有关其他受支持的ajax事件,请参阅primefaces用户指南(第141页)。
<p:ajax event="sort" update="creditOfAccount actualAccount creditos :forminfo:cuentasUsr2 :forminfo:addBtn1 :forminfo:tagFromAccount2" oncomplete="setFancyBox();"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.