为什么datatable不检索最后选择的行?

时间:2016-01-19 07:31:51

标签: jquery datatables

我使用DataTables插件向用户显示信息。我有以下观点 enter image description here

当我点击一行时,它会突出显示并显示2个链接,直到此处变得很棒,但是如果我单击任何其他行然后我单击其中一个按钮,它会触发所有最后选择的行而不仅仅是最后一行。这是行动作的代码的一部分:

this.RowCBFunction = function(nRow, aData, iDisplayIndex)
{
    $(nRow).click( function(e)
    {
        e.preventDefault();
        var tr = $(this);
        var tabla = $(tr.closest('table'));
        divaction.find('.btn-action').tooltip('destroy');
        divaction.find(".tooltip").remove();    
        var botones = $(options.botones);

        if ( tr.hasClass('row_selected') ) {
            tr.removeClass('row_selected');
            divaction.remove();             
            IdReservaSelected = null;
        }
        else {
            divaction.show();
            var tds = $(this).find("td");
            $(tabla.dataTable().fnGetNodes()).removeClass('row_selected');
            tr.addClass('row_selected');
            $(tds[tds.length-1]).append(divaction);

            tr.find("button").removeAttr("disabled");

            tabla.$('tr.row_selected').removeClass('row_selected');
            tr.addClass('row_selected');

            botones.each(function(index){
                var boton = this;
                if( typeof boton.condition != "undefined")
                    if(!boton.condition(nRow, aData, iDisplayIndex))
                        ul.find("#btn-"+index).attr("disabled",true);
                ul.find("#btn-"+index).click(function(e){
                    e.preventDefault();
                    $(this).tooltip('destroy');
                    boton.clickfunction(nRow, aData, iDisplayIndex);
                });
            });
            tr.find('[data-toggle="tooltip"]').tooltip({"placement":"top",delay: { show: 400, hide: 1 }});
        }
    });
};

修改表格结构

var tabla_acciones = new DTActions({
    'botones': [
        {
            'icon':'fa fa-edit fa-lg',
            'tooltip':'Editar',
            'clickfunction': function(nRow, aData, iDisplayIndex) { 
                $("#ip_valor").val(aData.ip_valor);
                $("#detalle").val(aData.detalle);
                if(aData.estado == 1)
                {
                    $("#estado-1").prop("checked", true);
                    $("#detalle-grupo").hide();
                }
                else
                    $("#estado-2").prop("checked", true);
            },
        },
        {
            'icon':'fa fa-refresh fa-lg',
            'tooltip':'Reiniciar Intentos',
            'clickfunction': function(nRow, aData, iDisplayIndex) {
                console.log(nRow);
            },
        }
    ]
});

RowCBF = function(nRow, aData, iDisplayIndex){
    tabla_acciones.RowCBFunction(nRow, aData, iDisplayIndex);   
};

var tabla_opciones = {
    "aoColumns":[
        { "mDataProp": "ip_valor"},
        { "mDataProp": "estado_descripcion"},
        { "mDataProp": "intentos"},
        { "mDataProp": "detalle"}
    ],
    "sRowSelect": "single",
    "fnCreatedRow":tabla_acciones.RowCBFunction,
};
tabla_ip = createDataTable2('tabla-ip',tabla_opciones);

不是检索最后选择的行,而是获得所有las选定的行

enter image description here

0 个答案:

没有答案