我在JSF数据表上应用JQuery时遇到问题。
我的代码是这样的:
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('<b>#example</b>').dataTable( {
"aoColumns": [
{ "asSorting": [ "asc" ] },
{ "asSorting": [ "asc" ] },
{ "asSorting": [ "desc", "asc", "asc" ] },
{ "asSorting": [ "desc" ] },
{ "asSorting": [ "asc" ] },
{ "asSorting": [ "asc" ] }
]
} );
} );
</script>
XHTML
<h:dataTable id="example" name="example" value="#{notificationBean.notificationList}" var="item"
cellpadding="0" cellspacing="0" border="0"
styleClass="display"
rowClasses="gradeC"
style="background-image: url('../images/ClientCare_Menu_Gradient.jpg'); background-repeat: repeat-x;">
呈现时:
<table id="searchform:example" class="display" cellspacing="0" cellpadding="0" border="0" style="background-image: url('../images/ClientCare_Menu_Gradient.jpg'); background-repeat: repeat-x;">
现在我的问题是必须申请数据表的CSS没有得到应用。
我尝试了不同的符号仍然没有用 在Jquery我尝试过:
$ {'#searchform:example'},$ {'#searchform.example'} 在这些情况下,包含表本身的悬停操作将无法显示数据表。
$ {'searchform#example'},$ {'#example'} 在这些情况下,悬停操作有效并且数据表已呈现,但CSS未应用
任何人都可以帮忙吗?
提前致谢 迪帕克
答案 0 :(得分:1)
您需要选择生成的HTML <table>
元素的客户端ID,而不是JSF <h:dataTable>
组件的组件ID。 HTML ID在您的特定情况searchform:example
中。由于:
是CSS选择器中的非法字符,因此您需要将其转义:
$("#searchform\\:example")
或改为使用属性选择器:
$("[id='searchform:example']")
更容易的是给<h:dataTable>
一个样式类。
<h:dataTable styleClass="example">
在您的特定情况下,您已经有一个
<h:dataTable styleClass="display">
所以你也可以使用
$(".display")