2017-07-19 38 views
1

数据表不能正常工作,同时添加折叠tr。如果remvoe崩溃tr然后数据表工作正常如何解决它的任何人都可以帮助提前 谢谢...tr折叠时数据表不能正常工作

$('.tableToggleUl').parent('td').css('padding','0px'); 
 
     $('.tableToggleUl').hide(); 
 
     $('.tableToggleBtn').click(function(){ 
 
      $(this).parents('tr').next('tr').find('.tableToggleUl').toggle(); 
 
      $(this).toggleClass('fa-plus-circle, fa-minus-circle'); 
 
     }); 
 
     $('.tableToggleBtn').next('.iconConfirmedAppointments, .fa-clock-o, .iconPracticeRescheduled').css('float','left'); 
 
     $('.tableToggleBtn').parent('td').css('width','65px'); 
 

 

 

 

 
    $(document).ready(function() { 
 
     $('.btnApptSuggestion').on("click",function(){ 
 

 
      $validator = $('#frmSuggestionAppt').validate(); 
 
      $validator.resetForm(); 
 

 
      var AppID=$(this).data('value'); 
 
      var patientID=$(this).data('patient'); 
 
      var parentId=$(this).data('parentid'); 
 
      var AppointmentDate=$(this).data('sugdate'); 
 
       
 
      $('#SuggestionAppointmentID').val(AppID); 
 
      $('#SuggestPatientID').val(patientID); 
 
      $('#SuggestOtherPatientID').val(parentId); 
 
      $('#dateAppointment').val(AppointmentDate); 
 
     }); 
 
     try 
 
     { 
 
      var dTable = $('.reportTable').DataTable({ 
 
       "paging": true, 
 
       "bSortable": false, 
 
       "lengthChange": true, 
 
       "bRetrieve": true, 
 
       "bProcessing": true, 
 
       "bDestroy": true, 
 
       "searching": true, 
 
       "ordering": false, 
 
       "info": true, 
 
       "autoWidth": true, 
 
       "responsive": true, 
 
       "aLengthMenu": [[20, 30, 50], [20, 30, 50]] 
 
      }); 
 
     } 
 
     catch(e) 
 
     { 
 

 
     } 
 

 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
    <link href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css" rel="stylesheet"/> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
    
 
    <div class="container"> 
 

 
<table class="table table-bordered table-hover dr-table datatable reportTable dataTable no-footer" id="DataTables_Table_0"> 
 
<thead> 
 
       <tr> 
 
        <th style="padding-left:36px;" class="sorting_disabled">Status</th> 
 
        <th style="white-space: nowrap;" class="sorting_disabled">Slot Type</th> 
 
        <th class="sorting_disabled">Professional</th> 
 
        <th class="sorting_disabled">Patient</th> 
 
        <th class="sorting_disabled">Date &amp; time</th> 
 
        <th class="sorting_disabled">Checked In</th> 
 
        <th class="sorting_disabled">Checked Out</th> 
 
        <th class="sorting_disabled">Action</th> 
 
       </tr> 
 
      </thead> 
 
<tbody> 
 
<tr role="row"> 
 
          
 
           <td style="width: 65px;"><span class="glyphicon glyphicon-plus tableToggleBtn" style="cursor:pointer;"></span><div class="icon iconConfirmedAppointments" 
 

 
style="float: left;"></div></td> 
 
                  <td><div class="icon iconPatientWithSlot"></div></td> 
 
          <td>Dr. Doctor Testing </td> 
 
          <td> 
 
           <a href="/doctor/patient_detail?encryptid=vkK6vkgyyNyMuKJi1qDQuw%3D%3D"> 
 

 
            Miss. Kratika Aggrawal Sr. 
 

 
           </a> 
 
          </td> 
 
           <td>July 19 2017 - 11:00 AM</td> 
 
          <td> 
 
           
 
                  </td> 
 
          <td> 
 
           
 
          </td> 
 
           <td> 
 
             <div class="dropdown"> 
 
              <a class="dropdown-toggle" data-toggle="dropdown"> 
 
               <i class="fa fa-pencil fa-lg"></i> 
 
               <span class="caret"></span> 
 
              </a> 
 
              <style> 
 
               @media only screen and (min-width:150px) and (max-width:991px) { 
 
                .table .dropdown-menu { 
 
                 left: 0px !important; 
 
                } 
 
               } 
 
              </style> 
 
              <ul class="dropdown-menu"> 
 
                <li> 
 
                 <input type="hidden" value="77" class="Status"> 
 
                 <input type="hidden" value="8886" class="ID"> 
 
                 <input type="hidden" class="ParentPatientID"> 
 
                 <a class="lnkChangeStatus" href="#" style="width:auto;">Appointment Status</a> 
 
                </li> 
 
                <li> 
 
                 <input type="hidden" value="8886" class="ID"> 
 
                 <a href="/doctor/dr_otherappointment?encryptid=vkK6vkgyyNyMuKJi1qDQuw%3D%3D" style="width:auto;">Outgoing Referrals</a> 
 
                </li> 
 

 

 
              </ul> 
 
             </div> 
 
           </td> 
 

 

 
         </tr> 
 
<tr> 
 
          <td colspan="8" style="padding: 0px;"> 
 
           <ul class="tableToggleUl"> 
 

 
            <li> 
 
             <label>Report Status</label> 
 
              <span></span> 
 
            </li> 
 
            <li> 
 
             <label>Record Uploaded</label> 
 
              <span>No</span> 
 
            </li> 
 
            <li> 
 
             <label>Order Received</label> 
 
              <span>No</span> 
 

 
            </li> 
 
            <li> 
 
             <label>Authorization</label> 
 
              <span>No</span> 
 
            </li> 
 
            <li class="tableRow1Height"> 
 
             <label>Care Plan Uploaded</label> 
 
              <span>No</span> 
 

 
            </li> 
 
            <li> 
 
             <label>Guardian Name</label> 
 
              <span></span>         </li> 
 
            <li> 
 
             <label>Referred By</label> 
 
              <span>Miss. Kratika Aggrawal Sr. (Patient)</span> 
 
            </li> 
 
            <li> 
 
             <label>Insurance</label> 
 
              <span></span> 
 
            </li> 
 
            <li> 
 
             <label>Visit Reason</label> 
 
             <span>abdominal Pain</span> 
 
            </li> 
 

 
            
 
            
 
            
 
            <li> 
 
             <label>How Did Hear</label> 
 
             <span>Market Place</span> 
 
            </li> 
 
            
 
            <li> 
 
             <label>Location</label> 
 
             <span> Tester Rd Snohomish Washington 98290</span> 
 
            </li> 
 
           </ul> 
 
          </td> 
 
         </tr> 
 
</tbody> 
 
</table> 
 
</div> 
 

 
<script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>

+0

[** dataTables不适用于colspan **](https://datatables.net/forums/discussion/14/datatables-and-colspan)。故事结束:)也许你用[**子行**](https://datatables.net/examples/api/row_details.html)来做你想做的事。 – davidkonrad

回答

1

正如你可以看到这里在艾伦的回复中:DataTables and colspan

Datatable不支持colspan。其原因在于,它将如何与过滤和排序交互是非常重要的问题(例如,如何对具有跨越多列的元素的列进行排序 - 该数据属于哪列)?第一个,还是全部? - 同样的问题悬于过滤)。


而且你正在使用colspan,因为我们可以在这里看到:

<td colspan="8" style="padding: 0px;" class="tableToggleUl-td"> 

这是一个数据表是不是在你结束工作的原因。


虽然它不是一种选择的权利,但你可以用自己的Complex headers。如果你想表格标题被打乱。

0

$(document).ready(function() { 
 
$(".tableToggleBtn-tr").click(function(){ 
 
    $(".tableToggleUl-td").toggle(); 
 
    }); 
 
    $('.btnApptSuggestion').on("click", function() { 
 

 
    $validator = $('#frmSuggestionAppt').validate(); 
 
    $validator.resetForm(); 
 

 
    var AppID = $(this).data('value'); 
 
    var patientID = $(this).data('patient'); 
 
    var parentId = $(this).data('parentid'); 
 
    var AppointmentDate = $(this).data('sugdate'); 
 

 
    $('#SuggestionAppointmentID').val(AppID); 
 
    $('#SuggestPatientID').val(patientID); 
 
    $('#SuggestOtherPatientID').val(parentId); 
 
    $('#dateAppointment').val(AppointmentDate); 
 
    }); 
 
    try { 
 
    var dTable = $('.reportTable').DataTable({ 
 
     "paging": true, 
 
     "bSortable": false, 
 
     "lengthChange": true, 
 
     "bRetrieve": true, 
 
     "bProcessing": true, 
 
     "bDestroy": true, 
 
     "searching": true, 
 
     "ordering": false, 
 
     "info": true, 
 
     "autoWidth": true, 
 
     "responsive": true, 
 
     "aLengthMenu": [ 
 
     [20, 30, 50], 
 
     [20, 30, 50] 
 
     ] 
 
    }); 
 
    } catch (e) { 
 

 
    } 
 

 
});
.tableToggleUl-td { display: none; 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<link href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<div class="container"> 
 

 
    <table class="table table-bordered table-hover dr-table datatable reportTable dataTable no-footer" id="DataTables_Table_0"> 
 
    <thead> 
 
     <tr> 
 
     <th style="padding-left:36px;" class="sorting_disabled">Status</th> 
 
     <th style="white-space: nowrap;" class="sorting_disabled">Slot Type</th> 
 
     <th class="sorting_disabled">Professional</th> 
 
     <th class="sorting_disabled">Patient</th> 
 
     <th class="sorting_disabled">Date &amp; time</th> 
 
     <th class="sorting_disabled">Checked In</th> 
 
     <th class="sorting_disabled">Checked Out</th> 
 
     <th class="sorting_disabled">Action</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr role="row" class="tableToggleBtn-tr"> 
 

 
     <td style="width: 65px;"><span class="glyphicon glyphicon-plus tableToggleBtn" style="cursor:pointer;"></span> 
 
      <div class="icon iconConfirmedAppointments" style="float: left;"></div> 
 
     </td> 
 
     <td> 
 
      <div class="icon iconPatientWithSlot"></div> 
 
     </td> 
 
     <td>Dr. Doctor Testing </td> 
 
     <td> 
 
      <a href="/doctor/patient_detail?encryptid=vkK6vkgyyNyMuKJi1qDQuw%3D%3D"> 
 

 
            Miss. Kratika Aggrawal Sr. 
 

 
           </a> 
 
     </td> 
 
     <td>July 19 2017 - 11:00 AM</td> 
 
     <td> 
 

 
     </td> 
 
     <td> 
 

 
     </td> 
 
     <td> 
 
      <div class="dropdown"> 
 
      <a class="dropdown-toggle" data-toggle="dropdown"> 
 
       <i class="fa fa-pencil fa-lg"></i> 
 
       <span class="caret"></span> 
 
      </a> 
 
      <style> 
 
       @media only screen and (min-width:150px) and (max-width:991px) { 
 
       .table .dropdown-menu { 
 
        left: 0px !important; 
 
       } 
 
       } 
 
      </style> 
 
      <ul class="dropdown-menu"> 
 
       <li> 
 
       <input type="hidden" value="77" class="Status"> 
 
       <input type="hidden" value="8886" class="ID"> 
 
       <input type="hidden" class="ParentPatientID"> 
 
       <a class="lnkChangeStatus" href="#" style="width:auto;">Appointment Status</a> 
 
       </li> 
 
       <li> 
 
       <input type="hidden" value="8886" class="ID"> 
 
       <a href="/doctor/dr_otherappointment?encryptid=vkK6vkgyyNyMuKJi1qDQuw%3D%3D" style="width:auto;">Outgoing Referrals</a> 
 
       </li> 
 

 

 
      </ul> 
 
      </div> 
 
     </td> 
 

 

 
     </tr> 
 
     <tr> 
 
     <td colspan="8" style="padding: 0px;" class="tableToggleUl-td"> 
 
      <ul class="tableToggleUl"> 
 

 
      <li> 
 
       <label>Report Status</label> 
 
       <span></span> 
 
      </li> 
 
      <li> 
 
       <label>Record Uploaded</label> 
 
       <span>No</span> 
 
      </li> 
 
      <li> 
 
       <label>Order Received</label> 
 
       <span>No</span> 
 

 
      </li> 
 
      <li> 
 
       <label>Authorization</label> 
 
       <span>No</span> 
 
      </li> 
 
      <li class="tableRow1Height"> 
 
       <label>Care Plan Uploaded</label> 
 
       <span>No</span> 
 

 
      </li> 
 
      <li> 
 
       <label>Guardian Name</label> 
 
       <span></span> </li> 
 
      <li> 
 
       <label>Referred By</label> 
 
       <span>Miss. Kratika Aggrawal Sr. (Patient)</span> 
 
      </li> 
 
      <li> 
 
       <label>Insurance</label> 
 
       <span></span> 
 
      </li> 
 
      <li> 
 
       <label>Visit Reason</label> 
 
       <span>abdominal Pain</span> 
 
      </li> 
 

 

 

 

 
      <li> 
 
       <label>How Did Hear</label> 
 
       <span>Market Place</span> 
 
      </li> 
 

 
      <li> 
 
       <label>Location</label> 
 
       <span> Tester Rd Snohomish Washington 98290</span> 
 
      </li> 
 
      </ul> 
 
     </td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</div> 
 

 
<script enter code heresrc="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>

希望其工作

+1

请在您的代码中添加一些说明。感谢您的贡献。 – Terrance00

+0

首先,设置类,以便您可以用JS调用它们,因为它不会让我使用父项或子项并隐藏它们。并且CSS隐藏它们,否则它们可以看到隐藏的TD。在JS中使用切换方法,在每次点击它时切换TD。 – Mubeena

+1

这个答案与我的问题无关。其实我用这个数据表,但这是不行的,因为第二个tr是崩溃。所以如何解决它。 –