Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript datatable:点击该行,该行不会关闭_Javascript_Jquery - Fatal编程技术网

Javascript datatable:点击该行,该行不会关闭

Javascript datatable:点击该行,该行不会关闭,javascript,jquery,Javascript,Jquery,我有一行是这样定义的: oTable = $('#archivio').dataTable({ "bPaginate": false, "bInfo": false, "bAutoWidth": true, "sScrollY": 440, "bScrollCollapse": true, "sDom": '<"top"f>rt', "fnDrawCallback": function () { $('#ar

我有一行是这样定义的:

  oTable = $('#archivio').dataTable({
    "bPaginate": false,
    "bInfo": false,
    "bAutoWidth": true,
    "sScrollY": 440,
    "bScrollCollapse": true,
    "sDom": '<"top"f>rt',
    "fnDrawCallback": function () {
        $('#archivio tbody tr').hover(function () {
            $(this).css('cursor', 'pointer');
        }, function () {
            $(this).css('cursor', 'auto');
        });
    }
});
oTable=$('#archivio')。数据表({
“bPaginate”:错误,
“bInfo”:假,
“bAutoWidth”:没错,
“sScrollY”:440,
“崩溃”:没错,
“sDom”:“rt”,
“fnDrawCallback”:函数(){
$('#archivio tbody tr')。悬停(函数(){
$(this.css('cursor','pointer');
},函数(){
$(this.css('cursor','auto');
});
}
});
我定义了一个函数,可以单击打开或关闭其中信息部分的行:

$("#archivio tbody tr").click(function (e) {              

    var nTr = $(this)[0];
    var aData = oTable.fnGetData(nTr);

    $(oTable.fnGetNodes()).each(function () {      
        var nTr1 = $(this)[0];                          
        var aData1 = oTable.fnGetData(nTr1); 
        if (aData[1] != aData1[1]) {                     
            $(this).removeClass('active');            
            oTable.fnClose(this);
        }
    });

    if ($(this).hasClass('active')) {               
        $(this).removeClass('active');           

        var nTr = $(this)[0];                      
        oTable.fnClose(nTr);

    } else {                                        
        oTable.$('tr.row_selected').removeClass('active');      
        $(this).addClass('active');    

        var sOut = '<p><span class="badge"><i class="fa fa-calendar-o"></i> ' + DataV + '</span> <span class="badge"><i class="fa fa-clock-o">' +
                   '</i> ' + OraV + '</span> <span class="badge"><i class="fa fa-tachometer"></i> ' + VelocitaV + ' km/h</span>' + 
                   '<a href="javascript:init(' + stringa + ')" class="btn btn-default btn-xs" style="float:right;">' + 
                   '<i class="fa fa-external-link"></i> Apri mezzo</a></p>' + '<span class="text-muted" id="Indirizzo' + aData[1] + '"></span>'
        oTable.fnOpen(nTr, sOut, 'details');  

});
$(“#archivio tbody tr”)。单击(函数(e){
var nTr=$(此)[0];
var aData=oTable.fGetData(nTr);
$(oTable.fnGetNodes())。每个(函数(){
var nTr1=$(此)[0];
var aData1=oTable.fnGetData(nTr1);
如果(aData[1]!=aData1[1]){
$(this.removeClass('active');
可旋转。关闭(此);
}
});
if($(this.hasClass('active')){
$(this.removeClass('active');
var nTr=$(此)[0];
可旋转。关闭(nTr);
}否则{
可旋转。$('tr.row_selected')。removeClass('active');
$(this.addClass('active');
变量sOut=''+DataV+''+
''+OraV+''+VelocitaV+'km/h'+
“

”+” oTable.fnOpen(nTr,sOut,“详细信息”); });
问题是,当我再次单击该行,然后将其关闭时,它不会关闭!我注意到在调试过程中,该函数重复了n次,即我对页面进行了多少次返工,因此,如果我对页面进行了两次返工,则该过程将重复两次,如果我对页面进行了三次返工,则将在三次预返工中重复三次,等等。就像我单击另一行一样,第一行关闭,另一行重新打开


如何运行关闭该行以再次单击的过程?

问题是,我将函数定义为绘制表格的函数,因此在调用该函数的所有时间都被调用。因此,我定义了一个变量并进行了初步检查:

if((states==null)| |(states==''){ states=$(“#archive tbody”)。在('click','tr',函数(e){

谢谢大家。
dave

什么是
“sDom”:'rt',
?这只是一种预感,但如果使用事件委派,它会起作用吗?
$(“#archivio tbody”)。在('click'、'tr',function(e){
上,我忘了写我用于ASP.Net MVC的代码,我希望它不是为了这个。。。。