0

列見出しの 1 つにチェックボックスがある JQuery Datatable があります。

<table id="vehTbl" class="table table-striped table-bordered">
  <thead>
    <tr>
        ...
        <th>
            <input type="checkbox" id="someId" onchange="TickAllBoxes()" />
            Publish
        </th>
    </tr>
  </thead>
</table>

私のデータテーブルは次のように初期化されます:

var table = $("#vehTbl").dataTable(
    {
        ...
        "aoColumns":
        [
            ...
            {
                "mDataProp": "SomeName",
                "fnRender": somefunction,
                "bUseRendered": false
            },
            ...
        ]
    });

したがって、この列はソート可能です。ここで、チェックボックスがクリックされたときに sort イベントが発生しないようにする必要があります (結果として TickAllBoxes が発生します)。それ以外の場合、並べ替えは列で機能するはずです。

潜在的に機能するのは、ハンドラーをテーブルの「ソート」イベントにバインドし、呼び出し元が「someId」チェックボックスの場合にデフォルトを防止することです。しかし、私はそうすることに成功していません。

何か案は?

4

1 に答える 1

1

dataTable が初期化された後にこのスクリプトを追加してみてください。

var table = $("#vehTbl").dataTable(
{
    ...
    "aoColumns":
    [
        ...
        {
            "mDataProp": "SomeName",
            "fnRender": somefunction,
            "bUseRendered": false
        },
        ...
    ]
});
// add in this
$('input[type=checkbox]').click(function(event){event.stopPropagation()});
于 2013-07-01T04:40:13.007 に答える