0

在我的 xhtml 页面中,第一次页面看起来不错,但是当我单击 h:commandLink 时,它在重新加载页面 css 和 jquery 未加载时发送 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>

用于表格着色的 jquery 是

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

2 回答 2

1

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

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

于 2013-10-09T11:15:01.867 回答
0

我通过在 jsf commandLink 中添加一个属性解决了这个问题,即 onComplete

onComplete="addCSS()"

和编写的功能

function addCSS(){
$(".role_detail_section tr:odd").addClass("activity_white");
$(".role_detail_section tr:even").addClass("activity_blue");
}
于 2013-10-10T09:23:29.653 回答