2014-02-20 25 views
0

我有,我這樣定義它的一行:數據表:一下就行了,行了,不會關閉

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'); 
     }); 
    } 
}); 

,我已經定義一個函數來點擊打開或關閉的行它的信息部分:

$("#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'); 

}); 

的問題是,當我點擊第二次就行了,然後關閉它,它不會關閉!我在調試過程中注意到函數重複了n次,即我重寫了頁面的次數,所以如果我重新編寫頁面兩次,那麼重複該過程兩次,如果我重做頁面的重複次數是三次,等等。就好像我點擊另一行,第一行關閉並重新打開另一行。

如何運行程序關閉線再次點擊?

+0

什麼是' 「sDom」:? '<"top"f> RT',' –

+0

只是一種預感,但確實它(''click','tr',function(e){' – Martin

+0

)我忘記寫我用於ASP.Net MVC,並且我希望它不是那個...... –

回答

0

問題是,我將函數定義爲繪製表的函數,並因此調用該函數的所有時間。因此,我定義了一個變量並進行了初始檢查:

if((states == == null)| |(states =='')){states = $(「#archive tbody」)。上( '咔噠', 'TR',功能(E){

謝謝大家 戴夫