2013-10-09 6 views
0

Dans ma page xhtml, la première page semble correcte mais quand je clique sur h: commandLink qui envoie une requête ajax quand il recharge la page css et jquery ne charge pas. la couleur et la vue de la table ont donc changé. ma table est la suivante:impossible d'appeler jquery après un appel ajax

<table width="100%" cellspacing="1" cellpadding="1" border="0" class="role_detail_section"> 
     <thead><tr> 
      <th>Relationship-Type Name</th> 

      <c:forEach items="#{manageRelationBean.languageList}" var="languageName" > 
       <th>#{languageName}</th> 
      </c:forEach> 
      <th>Edit | Deactivate</th> 
     </tr> 
     </thead> 
     <tbody> 
     <c:forEach items="#{manageRelationBean.languageRelList}" var="languageRelDTO"> 
      <tr> 
       <td> 
        #{languageRelDTO.relationName} 
       </td> 
       <c:forEach items="#{languageRelDTO.languageList}" var="relationValues"> 
        <td>#{relationValues.relationValue}</td> 
       </c:forEach> 
       <td> 
       <span><h:commandLink value="Edit" class="edit_icon" action="#{relationBean.editRelationByRelationType}" immediate="true" > 
      <f:setPropertyActionListener target="#{relationBean.relationType}" value="#{languageRelDTO.relationName}" /> 
      </h:commandLink></span> 
       <span>&nbsp;</span> 
       <span><p:commandLink rendered="#{manageRelationBean.findRelationStatus(languageRelDTO.country.countryCode,languageRelDTO.relationName) eq 1}" value=" Activate " action="#{manageRelationBean.activateRelation(languageRelDTO.relationName)}" update="@form" process="@this" > 
       <f:setPropertyActionListener target="#{relationBean.relationType}" value="#{languageRelDTO.relationName}" /> 
      </p:commandLink> 
    <p:commandLink rendered="#{manageRelationBean.findRelationStatus(languageRelDTO.country.countryCode,languageRelDTO.relationName) eq 3}" value=" Deativate " action="#{manageRelationBean.softDeactivateRelation(languageRelDTO.relationName)}" update="@form" process="@this"> 
       <f:setPropertyActionListener target="#{relationBean.relationType}" value="#{languageRelDTO.relationName}" /> 
      </p:commandLink> 
    </span> 

       </td> 

      </tr> 
     </c:forEach></tbody> 
    </table> 

et jquery pour la coloration de la table est

$(document).ready(function(){ 
$(".role_detail_section tr:odd").addClass("activity_white"); 
$(".role_detail_section tr:even").addClass("activity_blue");  
}); 
+0

S'il vous plaît publier le code HTML généré et le code de l'appel AJAX. Je suppose que vous devez déléguer des événements quelque part. –

+0

['nth-child()'] (https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child) [violon] (http://jsfiddle.net/Hp2nq/) – Andreas

Répondre

1

utilisation delegate() or on() afin de se lier à un élément conducteur qui est régénéré à l'exécution.

Le délégué: Attach a handler to one or more events for all elements that match the selector, now or in the future

0

J'ai résolu ce problème en ajoutant un attribut dans des thats jsf de commandLink onComplete

onComplete="addCSS()" 

et la fonction écrite

function addCSS(){ 
$(".role_detail_section tr:odd").addClass("activity_white"); 
$(".role_detail_section tr:even").addClass("activity_blue"); 
} 
Questions connexes