jQuery Datatables.net:对表排序后,奇怪的时候,侦听器不起作用

时间:2019-06-14 15:53:08

标签: javascript jquery datatables

我正在使用datatables.net中的表,但遇到一个问题,解决起来非常棘手,我需要每个人的想法。这是我的桌子 enter image description here

我将事件处理程序应用于每行中的每个复选框 我的事件处理程序是

function checkListagem() {
        $('input:checkbox.checkboxinput').on('click',function (e) {
            this.checked ? listagensParaCartas.push($(this).attr('id')) : listagensParaCartas.pop($(this).attr('id'));
            var tem = $(this).parents("tr").hasClass("selecionada");
            if (!tem) {
                $(this).parents("tr").addClass("selecionada");
            }
            else {
                $(this).parents("tr").removeClass("selecionada");
            }
        });
    }

我也尝试过

$('"#listagens input:checkbox').on('click','.checkboxinput', function (e) 

其中listagens是数据表的ID。当我在复选框中单击时,名称类为“ selecionada”。在这种情况下的例子我有

<tr class="odd selecionada>...</tr>
<tr class="even>...</tr>
<tr class="odd>...</tr>

但是当我按“ Listagem”,“ DataCriação”或其他列进行排序时,它们并不总是将类应用于该tr。但是我可以代替这个

 $(this).parents("tr").addClass("selecionada");

为此

 $(this).parents("tr").css("color","red");

事件处理程序适用于CSS,但不适用于addclass或removeClass。 但是,如果我再次单击有时会工作,有时不会。我认为,如果我在同一列中单击偶数次排序,它将恢复正常工作,但是当奇数次时,确实适用该类。

目前,我要禁用排序,更重要的是选择所选内容,或使用葡萄牙语“ selecionada”,但我确实需要一些非常好的主意。预先谢谢你。

0 个答案:

没有答案