3

こんにちは、datatables.net のデータテーブルを使用しています。テーブルにチェックボックスを追加しようとするまで、すべてがうまく機能していました。列のフィルタリングと列の表示/非表示を備えたテーブルツールを使用しています。ページネーションのすべてのページで機能するチェックボックスを追加しましたが、フォームを送信すると、現在のページに表示されているチェックボックスのデータのみが送信されます。テーブル内の他のページにある場合でも、チェックされたすべてのチェックボックスをどうにかして保存するにはどうすればよいですか。私はJSの男ではないので、本当に知っています。チェック[]でチェックされた各ユーザーのIDを保存できる必要があります。

助けてくれてありがとう:)

これは、データを生成する foreach ループであり、チェックボックスは次のとおりです。

<td><input name="check[]" type="checkbox" value="{{ $staff->id }}" /> </td>

Jquery コードは次のとおりです。

 var asInitVals = new Array();

$(document).ready(function() {

    /*
     * Support functions to provide a little bit of 'user friendlyness' to the textboxes in
     * the footer
     */
    jQuery("tfoot input").each( function (i) {
        asInitVals[this.name] = this.value;
    } );

    jQuery("tfoot input").focus( function () {
        if ( this.className == "search_init" )
        {
            this.className = "";
            this.value = "";
        }
    } );

    jQuery("tfoot input").blur( function (i) {
        if ( this.value == "" )
        {
            this.className = "search_init";
            this.value = asInitVals[this.name];
        }
    } );

    var oTable = $('.data-tbl-tools').dataTable( {
        "sPaginationType": "full_numbers",
        "iDisplayLength": 10,
        "oLanguage": {
            "sSearch": "Search all columns:"
        },
        "sDom": '<"tbl-tools-searchbox"fl<"clear">>,<"tbl_tools"CT<"clear">>,<"table_content"t>,<"widget-bottom"p<"clear">>',
        "oTableTools": {
        "sSwfPath": "../swf/copy_cvs_xls_pdf.swf"
        }

    } );

    $("tfoot input").keyup( function () {
    var id = $(this).attr('id').split("-")[1];
    oTable.fnFilter( this.value, id );
    });

} );
4

0 に答える 0