Как удалить лишние строки в tablesorter.js? - PullRequest
0 голосов
/ 29 мая 2018

Я использую tablesorter.js для сортировки моей HTML-таблицы.Моя таблица является вложенной. Нажмите на первую строку, чтобы открыть ее дочернюю строку.Для этого я использую AJAX Call.на странице ajax у меня есть дочерние строки родительских строк.Теперь проблема в том, что у меня ниже код на моей родительской странице:

 <table class="sortable">
    <thead>            
        <tr class="row">
            <th class="list_gradient"> Organization Name</th>
            <th class="list_gradient"> Vat No</th>
        </tr>
    </thead>   
    <tr class="row">
        <td align="center">
            <a href="#&test=<?php echo  $CUSTOMER_ID?>">
            <img src="include/images/plus.png" onClick="toggleImg(this);toggleDiv('<?php echo $CUSTOMER_ID ?>');displayDetails('<?php echo $CUSTOMER_ID ?>');"/><b></b></a>
            <input type="hidden" value="<?php echo $CUSTOMER_ID;?>" id="reqdId<?php echo $CUSTOMER_ID ?>"/>                             
            <?php echo $org_name?>
        </td>
        <tr>
            <td colspan="11">
                <div class="hidden_rows" id="<?php echo $CUSTOMER_ID ?>" style="display:none; width:100%;"> 
                </div>
            </td>
        </tr>              
    </tr>
</table>

Выше моя таблица, которая работает нормально без tablesorter.Если раньше я нажимал на заголовок таблицы, он сортировался, но он также отображал дополнительные строки, которые есть у меня для дочерних строк.

        <td colspan="11">
            <div class="hidden_rows" id="<?php echo $CUSTOMER_ID ?>" style="display:none; width:100%;"> 
            </div>
        </td>
    </tr>  

Если я удаляю приведенный выше код из таблицы, тогда только таблица сортировщика не показывает мои дополнительные строки.Но дело в том, что я не могу удалить приведенный выше код.Я должен скрыть эти строки по щелчку класса сортировки.Я пытался с помощью метода hide(), но он не работал для меня.

Ниже приведен мой код для скрытия лишних строк в таблице.

$(function(){

    $("table").tablesorter();
    $(".sortable").click(function(){
       $("hidden_rows").hide(); 
    });


}); 

1 Ответ

0 голосов
/ 29 мая 2018

HTML-код недействителен.Вы не можете вложить tr внутрь другого tr.Вместо этого переместите <td colspan="11"> во вложенную таблицу:

<tr class="row">
  <td align="center">...</td>
  <td>
    <table>
      <tr>
        <td colspan="11">...</td>
      </tr>
    </table>
  </td>
</tr>
...