나는 마지막 열에 체크 박스가있는 <p:dataTable>
입니다. 확인란의 상태에 따라 표의 행을 채색하고 싶습니다. 체크 박스 선택에서 데이터 테이블 행 색상 변경
<p:dataTable var="acs" value="#{myBean.listaRevogaveis}"
emptyMessage="#{rotulo.mensagemSemDados}" paginator="true"
rows="10" id="tableacs"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}">
<p:column headerText="Nome" sortBy="#{acs.nome}"
filterBy="#{acs.nome}">
<h:outputText value="#{acs.nome}" />
</p:column>
<p:column headerText="Address" sortBy="#{acs.address}" filterMatchMode="contains"
filterBy="#{acs.address}" filterMaxLength="8">
<h:outputText value="#{acs.address}" />
</p:column>
<p:column headerText="Perfil" sortBy="#{acs.cdPerfil}"
filterBy="#{acs.cdPerfil}" filterMaxLength="2">
<h:outputText value="#{acs.cdPerfil}" />
</p:column>
<p:column headerText="Cadastramento">
<h:outputText value="#{acs.tsSolicitacao}">
<f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText>
</p:column>
<p:column headerText="Concedido">
<h:outputText value="#{acs.concedidoPor}" />
</p:column>
<p:column headerText="Revogar">
<p:selectBooleanCheckbox value="#{acs.ativo}" >
<p:ajax event="valueChange" oncomplete="toggleColor(this, #{acs.ativo}" listener="#{myBean.checkBox}" update="@form"/>
</p:selectBooleanCheckbox>
</p:column>
</p:dataTable>
그래서
#{acs.ativo}
의 토글 링에 그 행이 다른 배경 색상을 수신 할.
<style type="text/css">
.linhaDestacada { background-color: red !important;}
</style>
<script type="text/javascript">
function toggleColor(col, status) {
var linha = jQuery(col).parent();
if(status) {
linha.removeClass('linhaDestacada');
} else {
linha.addClass('linhaDestacada');
}
}
</script>
하지만 그건 아무 소용이입니다 : 내 XHTML이를 추가하려고 this question의 대답에 따라
. 함수가 호출되는지 알기 위해 몇 가지 경고를했습니다. 그러나 tagName 또는 linha
변수의 속성을 보려고하면 null이 반환됩니다.
또 다른 흥미로운 점이 있습니다. 콜백이 이전 확인란의 값으로 호출되고 있습니다. 체크 박스를 선택하면 자바 스크립트는 status
에서 false를 수신합니다. 선택하지 않으면 true입니다.
체크 박스 토글과 함께 행 배경 토글을 어떻게 만들 수 있습니까?
, 감사합니다. – Mindwin