当前位置: 首页 > 知识库问答 >
问题:

如何处理datatables中的复选框单击事件

支才
2023-03-14

我有一个像标志一样的布尔字段来声明表中的行是否被删除。它使用复选框显示,因此如果数据已被删除,复选框值为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"]]
    });
});

在表中,我可以单击复选框,但我不知道如何处理单击事件,因为我使用数据来显示数据。如何处理复选框事件使用可数据?

共有2个答案

卫松
2023-03-14

如果使用具有选择功能的数据表,则可以使用侦听器(选择和取消选择事件)。

table.on( 'deselect', function ( e, dt, type, indexes ) {});
table.on( 'select', function ( e, dt, type, indexes ) {});
庾远航
2023-03-14

我猜您使用的是分页表,并且面临的问题是,当您更改页面时,单击处理程序无法工作?

注释中建议的解决方案适用于单页数据表,但如果您更改页面或数据表被重新绘制,则该解决方案将无效:

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

...只在第一页起作用。您必须使用委托事件来确保复选框始终绑定到单击处理程序:

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

演示/概念证明-

 类似资料:
  • 问题内容: 有没有一种方法可以设置一个元素,使其在左键单击(ng-click)上执行一个动作,然后在右键单击上执行另一个动作? 现在我有类似的东西: 而且我还希望能够右键单击范围以执行函数decrement();。 问题答案: 您可以使用指令,使用event 绑定右键单击时的特定操作: 小提琴上的代码示例

  • 问题内容: 此处使用复选框状态更新文本框值。我用来确认取消选中的操作。如果用户选择“取消”,则复选标记会恢复,但会在确认前触发。 这会使事情处于不一致状态,并且选中复选框时文本框会显示false。 如何处理取消并保持文本框值与检查状态一致? 问题答案: 在JSFiddle中进行了测试,可以满足您的要求。这种方法的附加好处是,当单击与复选框关联的标签时,可以触发。 更新的答案: 原始答案:

  • 如果复选框不确定,如何从与复选框关联的标签停止单击事件? 我尝试了以下几点,但都没有成功: El是复选框本身。 目标是,当此复选框不确定时,单击相关标签后,我希望它所做的就是退出不确定并取消选中。然后,我将触发表中所有选中的复选框也被取消选中。 问题是,当我单击不确定的复选框标签时,它会导致它被选中,导致所有未选中的复选框都被选中。与我想要的相反。

  • 当我第一次点击它的时候,它点击了,但是没有关掉... 我试过这个,它检查和取消检查,但只有一次。 这个对我也不起作用。 null null

  • 我试图在按钮单击事件上清除Popup=>ListView中的选中复选框。 我尝试过循环listview并将property设置为false,但这不起作用。 在此处输入代码x:class=“uc.mainpage”xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation”xmlns:x=“http://schemas.micro

  • 本文向大家介绍使用AngularJS处理单选框和复选框的简单方法,包括了使用AngularJS处理单选框和复选框的简单方法的使用技巧和注意事项,需要的朋友参考一下 AngularJS对表单的处理相当简单。在AngularJS使用双向数据绑定方式进行表单验证的时候,实质上它在帮我们进行表单处理。 使用复选框的的例子有很多,同时我们对它们的处理方式也有很多。这篇文章中我们将看一看把复选框和单选按钮同数