【问题标题】:tablesorter JS not working when content generated via ajax当通过 ajax 生成内容时,tablesorter JS 不起作用
【发布时间】:2018-05-18 04:26:15
【问题描述】:

我不想添加/追加现有表。在通过 AJAX 返回结果之前,我的表是空的。我正在尝试通过 javascript 插件 tablesorter.js 对我的表数据进行排序。 我已经对表格进行了排序,因此它在标题和正文之间进行了拆分。我似乎无法让表格行改变

我的 AJAX 代码是;

     <script>
           $(document).ready(function() 
          { 
        $("#results").tablesorter(); 
          } 
              ); 
            </script>


               <script>  
              $(document).ready(function(){ 
           $.datepicker.setDefaults({  
                dateFormat: 'yy-mm-dd'   
           });  
           $(function(){  
                  $("#to_date").datepicker(); 
                  });  
           var to_date = $('#to_date').val(); 

$( "#genre" ).val();
    {
var value = $(this).val();          

$( "#price" ).val();
    {
var value = $(this).val();



       $('#filter').click(function(){  

              var to_date = $('#to_date').val(); 
              var request = $("#genre").val(); 
              var request1 = $("#price").val(); 

              var data = 'to_date'+'request'+'request1';
                if(to_date != '' )  
                {  
                     $.ajax({  
                          url:"filter.php",  
                          method:"POST",  
                          data: { to_date:to_date, request:request,request1:request1 }, 
                          success:function(data)  
                          {  


                               $('#results').html(data);  
                          $('#results').trigger("update");



                          }  
                     });  
                }  
                else  
                {  
                     alert("Please Select Date");  
                }  
           });  
      }; 
       }; 

        });  
           </script>






        and my code for the html / PHP is;

         <table id="results" class="tablesorter"> 
    <thead>
        <tr>  
            <th>Event</th>  
            <th>Venue</th>  
            <th>Genre</th>  
            <th>Date</th> 
            <th>Price</th>  
        </tr>  
         </thead>
               <tbody>
                  <?php  

             while($row = mysqli_fetch_array($result))  
             {  
             ?>  
                  <tr>  

                       <td><?php echo $row["event_name"]; ?></td>  
                       <td><?php echo $row["venue_name"]; ?></td>  
                       <td><?php echo $row["genre"]; ?></td>  
                       <td><?php echo $row["event_date"]; ?></td>  
                  </tr>  
             <?php  
             }  

             ?>  
                   </tbody>
                          </table>  

【问题讨论】:

    标签: php ajax sorting tablesorter


    【解决方案1】:

    你从未真正调用过插件: $("结果").tablesorter() 每次更新数据时,都应该对 tablesorters 更新触发器进行全部操作,以便更新其引用。

    success:function(data)  
                          {  
                              $('#results').html(data);  
                              $('#results').trigger("update");
                          }  
    

    这应该可以解决问题

    【讨论】:

    • 恐怕运气不好!还能有别的吗?
    • 您确定要实例化表格排序器吗? $("结果").tablesorter()
    • 嗨,卡洛斯,是的!我有。我已经更新了上面的代码以显示我目前拥有的内容
    猜你喜欢
    • 2017-04-21
    • 2019-08-30
    • 1970-01-01
    • 2017-11-19
    • 2015-09-02
    • 2023-03-12
    • 2014-05-28
    • 2016-04-10
    • 2022-08-18
    相关资源
    最近更新 更多