我在项目中使用了jsf richfaces。我必须在用户单击特定行后突出显示richfaces数据表中的行。我使用jquery突出显示该行。但是我们单击行后,行的背景颜色消失了。如果我给了jQuery.noConflict();背景颜色仍然存在,但页面没有渲染,动作标签不起作用。任何人都可以帮我解决这个问题。
数据表列值:
<rich:dataTable value="#{myBean.list}" var="bean" >
<rich:column>
<a4j:commandLink value="#{bean.id}" render="info,tablepanel" action="#
{myBean.save(bean.id)}" onclick="changeBackground(this)" />
</rich:column>
</rich:dataTable>
Jquery的:
<script>
function changeBackground(element){
/* jQuery.noConflict(); */
jQuery(element).parents('tr:first').addClass('backgroundRed');
}
</script>
CSS:
<style>
.backgroundRed {
color: #555658;
background-color: yellow;
cursor : pointer;
}
</style>
提前致谢..
答案 0 :(得分:0)
您可以使用以下代码执行此操作:
<rich:dataTable value="#{myBean.list}" var="bean" >
<rich:column>
<a4j:commandLink value="#{bean.id}" render="info,tablepanel" action="#/>
</rich:column>
<a4j:support event="onRowClick" oncomplete="highlightSingleRow(this)"/>
</rich:dataTable>
使用Javascript:
jQuery.noConflict();
function highlightSingleRow(col) {
jQuery(col).parent().parent().find('tr').removeClass('highlight-row');
jQuery(col).parent().addClass('highlight-row');
}
CSS:
.highlight-row {
background-color: yellow;
cursor : pointer;
}