1

私はこの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コードはありますか?

4

1 に答える 1

2

上記のコードはプレーンな Java Server Faces(XHTML) コードです。最終的には HTML としてレンダリングされます。HTML では、datatable が でレンダリングされる場合、jquery を使用して、ID を指定するか、タグ名を使用して選択することで、簡単に強調表示できます。jquery の強調表示に関するヘルプがさらに必要な場合は、このリンクが役立つ場合があります

万が一リッチフェイスを使用している場合は、外部の JavaScript ファイルを使用する代わりに、rich:jquery タグを使用して同じことを達成できます。

PS 豊富な顔を持つ外部ファイルを使用してjqueryを使用している場合は、JSFのprototype.jsがコードと競合する可能性があるため、コードで jquery.noconflict() メソッドを使用してみてください。

幸運を!


アップデート

このコードスニペットが役立つかもしれません

<script type="javascript">

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

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

 }
</script>
于 2012-05-15T14:01:36.843 に答える