0

Richfaces 4のextendedDataTableを使用しています。ユーザーがクリックしたときに、要素の詳細ページを行に表示したいと思います。したがって、私は次のようなものを追加しました

onrowclick="showDetails(#{item.id})"

テーブルに。<a4j:jsFunction/>これにより、対応するタグがトリガーされます。これは今のところ機能しています。

ただし、列の1つにはcommandLinkが含まれています(詳細の編集ビューに切り替えるため)。リンクはWebkitベースのブラウザ(Chrome / Safari)で機能します。ただし、IEとFirefoxは行のonclickのみを実行します。コマンドリンクはそこでは機能しません。

コマンドリンクを含まないoncolumnclickまたは列のみを設定することはどういうわけか可能ですか?特定の列にonclick-handlerを追加する方法が見つかりませんでした(列にrich:columnを使用しています)。

または、「行のどこかをクリックして詳細を表示し、最後の列のリンクをクリックして編集ビューを表示する」を実現するためのより良い/よりクリーンな/より良い方法はありますか?

4

2 に答える 2

0

私の現在の回避策HACKは、を使用せずに、リンクのある列を除くすべての列にをonrowclick追加することです。styleClass="clickable"最初の列に、次を追加しました。

<h:outputText value="#{item.id}" style="display: none;" styleClass="id"/>

次に、テーブルの後に次のjQueryを使用します。

<rich:jQuery selector=".myTable td.clickable" query="live('click', function(event) {
                showDetails($(this).parent().children().children('.id').text());
              });"/>

私はこのソリューションが本当に好きではありませんが、今のところうまく機能しています。

私はまだより良い解決策を開いています:)

于 2011-07-11T14:39:56.330 に答える
0

これをコマンドボタンに入れてみてください

onclick="Event.stop(event||window.event)"
于 2011-07-08T13:53:15.443 に答える