0

チェックボックスとページネーションを備えた JSF テーブルがあります。次の質問があります。すべての行をすべてのテーブル ページに選択して削除したいと考えています。簡単な方法は、Java ハッシュマップを作成してキーを保存することです。その後、Java メソッドはハッシュマップへのキーを使用してそれらを削除しますが、ハッシュマップが 100 万を超えるとどうなりますか? もしかしてメモリーリーク?おそらく解決策は、この単純な JavaScript を使用してすべてのチェックボックスを選択することです。

//Select all checkbox
function selectall(){     
    $('button').click(function() {
        $("[type=checkbox]").prop("checked", true);
    })​     
}

//Unselect all checkbox
function selectall(){     
    $('button').click(function() {
        $("[type=checkbox]").prop("checked", false);
    })​     
}

私が直面している 2 つの問題があります。JavaScript は 1 つのページに対してのみ機能します。2. 削除ボタンをクリックしたときに JavaScript ですべてのチェックボックスを選択すると、Java メソッドはどのようにしてすべてのチェックボックスがテーブルで選択されていることを認識し、行を削除しますか? これらの問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

JavaScript を使用してすべてのチェックボックスを選択すると、最初のページのチェックボックスのみが選択される可能性があります。2 番目のページに切り替えると、チェックボックスは選択されません。

データテーブル (またはページ全体) が再レンダリングされ、チェック済みの状態が失われるため、これは当てはまります。

これらの問題を解決するにはどうすればよいですか?

達成しようとすることに集中してください。実際、ページ分割されたデータ テーブル内の 100 万のエントリをすべて選択するのではなく、データ テーブルをサポートしているリストまたはコレクション全体を削除したい場合があります。

リストを単に空にする「すべて削除」ボタンを追加してみませんか? 次に、選択ボックスをまったく気にする必要はありません。

于 2012-05-22T21:12:55.940 に答える