在 AJAX 调用后无法调用 jQuery

unable to call jquery after ajax call

本文关键字:调用 jQuery AJAX      更新时间:2023-09-26

在我的 xhtml 页面中,第一次页面看起来不错,但是当我单击 h:commandLink 发送 ajax 请求时当它重新加载页面CSS和jQuery时未加载。所以颜色和表格视图发生了变化。我的表是:

<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>

用于表格着色的 jQuery 是

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

使用 delegate(( 或 on(( 将处理程序绑定到在运行时重新生成的元素。

代表 : Attach a handler to one or more events for all elements that match the selector, now or in the future

我通过在 jsf 命令链接中添加一个属性来解决这个问题

onComplete="addCSS()"

和编写的函数

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