簡體   English   中英

如何處理數據表中的復選框單擊事件

[英]How to handle checkbox click event in datatables

我有一個布爾字段,如一個標志,表示在表中刪除或不刪除行。 它使用復選框顯示,因此如果數據已被刪除,則復選框值為true,反之亦然。

下面是顯示表格的代碼:

<table id="tblEvent" class="display" cellspacing="0" style="width: 100%">
    <thead>
        <tr>
            <th>@Html.DisplayNameFor(model => model.PIC)</th>
            <th>@Html.DisplayNameFor(model => model.Name)</th>
            <th>@Html.DisplayNameFor(model => model.StartDate)</th>
            <th>@Html.DisplayNameFor(model => model.Status)</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>@Html.DisplayFor(modelItem => item.PIC)</td>
                <td>@Html.DisplayFor(modelItem => item.Name)</td>
                <td>@Html.DisplayFor(modelItem => item.StartDate)</td>
                <td>@Html.EditorFor(modelItem => item.Status)</td>
            </tr>
        }
    </tbody>
</table>

$(document).ready(function () {
    $("#tblEvent").dataTable({
        "order": [[1, "desc"]]
    });
});

在表格中,我可以單擊復選框,但我不知道如何處理click事件,因為我正在使用數據表來顯示數據。 如何使用datatable處理復選框事件?

我猜您使用的是分頁表,並且在更改頁面時遇到了點擊處理程序無法正常工作的問題?

注釋中建議的解決方案適用於1頁的dataTable,但如果更改頁面則無用,否則將重繪dataTable:

$('#tblEvent input[type="checkbox"]').click(function() {
    console.log('suggested-in-comment', 'click');
});

...僅適用於第一頁。 您必須使用委托事件來確保復選框始終綁定到單擊處理程序:

$('#tblEvent').on('click', 'input[type="checkbox"]', function() {
    console.log('best', 'click');
});    

演示與/概念驗證 - > http://jsfiddle.net/o4mhqpr3/

如果您正在使用具有選擇功能的數據表 ,則可以使用偵聽器( 選擇取消選擇事件)。

table.on( 'deselect', function ( e, dt, type, indexes ) {});
table.on( 'select', function ( e, dt, type, indexes ) {});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM