如何在单击行时突出显示JSF行

时间:2012-05-15 13:23:05

标签: javascript jsf

我有这个JSF表:

<h:dataTable id="itemsTable" 
    value="#{SelectionBean.selectedItems}" var="item"  >

<f:facet name="header">
  <h:outputText value="Items" />
</f:facet> 
<h:column>
  <f:facet name="header">
    <h:outputText value="Select" />
  </f:facet>
  <h:selectBooleanCheckbox value="#{item.selected}" />
</h:column>
<h:column>
  <f:facet name="header">
    <h:outputText value="name" />  
  </f:facet> 
    <h:outputText value="#{item.name}"></h:outputText>
</h:column>
</h:dataTable>

我希望在点击表格时突出显示表格的行。有没有一种JavaScript代码只有在单击复选框时突出显示行?

1 个答案:

答案 0 :(得分:2)

您显示的上述代码是一个普通的Java Server Faces(XHTML)代码。因此最终它呈现为HTML。在HTML中,如果数据表呈现,则在jquery的帮助下,您可以在指定ID的帮助下轻松突出显示它,或者使用标记名称进行选择。如果你需要进一步帮助jquery突出显示这个链接可能有用jQuery highlight table row

如果您正在使用Rich faces,则可以使用rich:jquery标记来实现相同而不是使用外部javascript文件。

如果您使用带有丰富面孔的外部文件使用jquery,请尝试在代码中使用jquery.noconflict()方法,因为JSF中的prototype.js可能与您的代码冲突。

祝你好运!


<强>更新

这段代码可能对您有所帮助

<script type="javascript">

if($('.checkboxClass').attr('checked','checked')){

  $('tr').css('background-color','yellow');

 }
</script>