2016-02-18 5 views
-1

Мне нужно отобразить определенное количество строк в таблице.Как отобразить определенное количество строк в таблице

Когда вы выбираете номер из списка выбора, следует отображать только то, что много строк.

+0

Вот демонстрационный код: https://jsfiddle.net/d50vc3rx/ –

ответ

1

Вы должны включить функцию jquery, подобную этой, которая выбирает значение выбранного параметра и изменяет видимость tr на основе этого.

function act() { 
 
    var num = $("#sel1 option:selected").text(); 
 
    $('#example tr').each(function(i, row) { 
 
     if(num < 0){ 
 
      $(this).css('display','none'); 
 
     } else { 
 
      num = num - 1; 
 
      $(this).css('display','table-row'); 
 
     } 
 
    }); 
 
} 
 

 
$(function() { 
 
    act(); 
 
}); 
 

 
$("#sel1").change(function() { 
 
    act(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<body> 
 
<div class="container"> 
 
<table id="example" class="table table-striped table-bordered" cellspacing="0" width="100%"> 
 
     <thead> 
 
      <tr> 
 
       <th>Name</th> 
 
       <th>Position</th> 
 
       <th>Office</th> 
 
       <th>Age</th> 
 
       <th>Start date</th> 
 
       <th>Salary</th> 
 
      </tr> 
 
     </thead> 
 
     <tfoot> 
 
      <tr> 
 
       <th>Name</th> 
 
       <th>Position</th> 
 
       <th>Office</th> 
 
       <th>Age</th> 
 
       <th>Start date</th> 
 
       <th>Salary</th> 
 
      </tr> 
 
     </tfoot> 
 
     <tbody> 
 
      
 
      <tr> 
 
       <td>Martena Mccray</td> 
 
       <td>Post-Sales support</td> 
 
       <td>Edinburgh</td> 
 
       <td>46</td> 
 
       <td>2011/03/09</td> 
 
       <td>$324,050</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Unity Butler</td> 
 
       <td>Marketing Designer</td> 
 
       <td>San Francisco</td> 
 
       <td>47</td> 
 
       <td>2009/12/09</td> 
 
       <td>$85,675</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Howard Hatfield</td> 
 
       <td>Office Manager</td> 
 
       <td>San Francisco</td> 
 
       <td>51</td> 
 
       <td>2008/12/16</td> 
 
       <td>$164,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Hope Fuentes</td> 
 
       <td>Secretary</td> 
 
       <td>San Francisco</td> 
 
       <td>41</td> 
 
       <td>2010/02/12</td> 
 
       <td>$109,850</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Vivian Harrell</td> 
 
       <td>Financial Controller</td> 
 
       <td>San Francisco</td> 
 
       <td>62</td> 
 
       <td>2009/02/14</td> 
 
       <td>$452,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Timothy Mooney</td> 
 
       <td>Office Manager</td> 
 
       <td>London</td> 
 
       <td>37</td> 
 
       <td>2008/12/11</td> 
 
       <td>$136,200</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Jackson Bradshaw</td> 
 
       <td>Director</td> 
 
       <td>New York</td> 
 
       <td>65</td> 
 
       <td>2008/09/26</td> 
 
       <td>$645,750</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Olivia Liang</td> 
 
       <td>Support Engineer</td> 
 
       <td>Singapore</td> 
 
       <td>64</td> 
 
       <td>2011/02/03</td> 
 
       <td>$234,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Bruno Nash</td> 
 
       <td>Software Engineer</td> 
 
       <td>London</td> 
 
       <td>38</td> 
 
       <td>2011/05/03</td> 
 
       <td>$163,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sakura Yamamoto</td> 
 
       <td>Support Engineer</td> 
 
       <td>Tokyo</td> 
 
       <td>37</td> 
 
       <td>2009/08/19</td> 
 
       <td>$139,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Thor Walton</td> 
 
       <td>Developer</td> 
 
       <td>New York</td> 
 
       <td>61</td> 
 
       <td>2013/08/11</td> 
 
       <td>$98,540</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Finn Camacho</td> 
 
       <td>Support Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>47</td> 
 
       <td>2009/07/07</td> 
 
       <td>$87,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Serge Baldwin</td> 
 
       <td>Data Coordinator</td> 
 
       <td>Singapore</td> 
 
       <td>64</td> 
 
       <td>2012/04/09</td> 
 
       <td>$138,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Zenaida Frank</td> 
 
       <td>Software Engineer</td> 
 
       <td>New York</td> 
 
       <td>63</td> 
 
       <td>2010/01/04</td> 
 
       <td>$125,250</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Zorita Serrano</td> 
 
       <td>Software Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>56</td> 
 
       <td>2012/06/01</td> 
 
       <td>$115,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Jennifer Acosta</td> 
 
       <td>Junior Javascript Developer</td> 
 
       <td>Edinburgh</td> 
 
       <td>43</td> 
 
       <td>2013/02/01</td> 
 
       <td>$75,650</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Cara Stevens</td> 
 
       <td>Sales Assistant</td> 
 
       <td>New York</td> 
 
       <td>46</td> 
 
       <td>2011/12/06</td> 
 
       <td>$145,600</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Hermione Butler</td> 
 
       <td>Regional Director</td> 
 
       <td>London</td> 
 
       <td>47</td> 
 
       <td>2011/03/21</td> 
 
       <td>$356,250</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Lael Greer</td> 
 
       <td>Systems Administrator</td> 
 
       <td>London</td> 
 
       <td>21</td> 
 
       <td>2009/02/27</td> 
 
       <td>$103,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Jonas Alexander</td> 
 
       <td>Developer</td> 
 
       <td>San Francisco</td> 
 
       <td>30</td> 
 
       <td>2010/07/14</td> 
 
       <td>$86,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Shad Decker</td> 
 
       <td>Regional Director</td> 
 
       <td>Edinburgh</td> 
 
       <td>51</td> 
 
       <td>2008/11/13</td> 
 
       <td>$183,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Michael Bruce</td> 
 
       <td>Javascript Developer</td> 
 
       <td>Singapore</td> 
 
       <td>29</td> 
 
       <td>2011/06/27</td> 
 
       <td>$183,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Donna Snider</td> 
 
       <td>Customer Support</td> 
 
       <td>New York</td> 
 
       <td>27</td> 
 
       <td>2011/01/25</td> 
 
       <td>$112,000</td> 
 
      </tr> 
 
     </tbody> 
 
    </table> 
 
\t <form role="form"> 
 
    <div class="form-group"> 
 
     <label>Select Number OF Rows To Be Displayed</label> 
 
     <select class="form-control" id="sel1"> 
 
     <option>5</option> 
 
     <option>10</option> 
 
     <option>15</option>   
 
     </select> 
 
    </div> 
 
    </form> 
 
\t </div> 
 
\t </body>

0

Вы можете сделать это без необходимости петлю, используя JQuery в: GT() селектор: https://api.jquery.com/gt-selector/

Опасайтесь индексации 0 на основе при подсчете строк, отсюда требуется для num ++.

function act() { 
 
    var num = $("#sel1 option:selected").text(); 
 
    num++; 
 
    $("#example tr").show(); 
 
    $("#example tr:gt(" + num + ")").hide(); 
 
} 
 

 
$(function() { 
 
    act(); 
 
}); 
 

 
$("#sel1").change(function() { 
 
    act(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<body> 
 
<div class="container"> 
 
<table id="example" class="table table-striped table-bordered" cellspacing="0" width="100%"> 
 
     <thead> 
 
      <tr> 
 
       <th>Name</th> 
 
       <th>Position</th> 
 
       <th>Office</th> 
 
       <th>Age</th> 
 
       <th>Start date</th> 
 
       <th>Salary</th> 
 
      </tr> 
 
     </thead> 
 
     <tfoot> 
 
      <tr> 
 
       <th>Name</th> 
 
       <th>Position</th> 
 
       <th>Office</th> 
 
       <th>Age</th> 
 
       <th>Start date</th> 
 
       <th>Salary</th> 
 
      </tr> 
 
     </tfoot> 
 
     <tbody> 
 
      
 
      <tr> 
 
       <td>Martena Mccray</td> 
 
       <td>Post-Sales support</td> 
 
       <td>Edinburgh</td> 
 
       <td>46</td> 
 
       <td>2011/03/09</td> 
 
       <td>$324,050</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Unity Butler</td> 
 
       <td>Marketing Designer</td> 
 
       <td>San Francisco</td> 
 
       <td>47</td> 
 
       <td>2009/12/09</td> 
 
       <td>$85,675</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Howard Hatfield</td> 
 
       <td>Office Manager</td> 
 
       <td>San Francisco</td> 
 
       <td>51</td> 
 
       <td>2008/12/16</td> 
 
       <td>$164,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Hope Fuentes</td> 
 
       <td>Secretary</td> 
 
       <td>San Francisco</td> 
 
       <td>41</td> 
 
       <td>2010/02/12</td> 
 
       <td>$109,850</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Vivian Harrell</td> 
 
       <td>Financial Controller</td> 
 
       <td>San Francisco</td> 
 
       <td>62</td> 
 
       <td>2009/02/14</td> 
 
       <td>$452,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Timothy Mooney</td> 
 
       <td>Office Manager</td> 
 
       <td>London</td> 
 
       <td>37</td> 
 
       <td>2008/12/11</td> 
 
       <td>$136,200</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Jackson Bradshaw</td> 
 
       <td>Director</td> 
 
       <td>New York</td> 
 
       <td>65</td> 
 
       <td>2008/09/26</td> 
 
       <td>$645,750</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Olivia Liang</td> 
 
       <td>Support Engineer</td> 
 
       <td>Singapore</td> 
 
       <td>64</td> 
 
       <td>2011/02/03</td> 
 
       <td>$234,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Bruno Nash</td> 
 
       <td>Software Engineer</td> 
 
       <td>London</td> 
 
       <td>38</td> 
 
       <td>2011/05/03</td> 
 
       <td>$163,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Sakura Yamamoto</td> 
 
       <td>Support Engineer</td> 
 
       <td>Tokyo</td> 
 
       <td>37</td> 
 
       <td>2009/08/19</td> 
 
       <td>$139,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Thor Walton</td> 
 
       <td>Developer</td> 
 
       <td>New York</td> 
 
       <td>61</td> 
 
       <td>2013/08/11</td> 
 
       <td>$98,540</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Finn Camacho</td> 
 
       <td>Support Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>47</td> 
 
       <td>2009/07/07</td> 
 
       <td>$87,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Serge Baldwin</td> 
 
       <td>Data Coordinator</td> 
 
       <td>Singapore</td> 
 
       <td>64</td> 
 
       <td>2012/04/09</td> 
 
       <td>$138,575</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Zenaida Frank</td> 
 
       <td>Software Engineer</td> 
 
       <td>New York</td> 
 
       <td>63</td> 
 
       <td>2010/01/04</td> 
 
       <td>$125,250</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Zorita Serrano</td> 
 
       <td>Software Engineer</td> 
 
       <td>San Francisco</td> 
 
       <td>56</td> 
 
       <td>2012/06/01</td> 
 
       <td>$115,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Jennifer Acosta</td> 
 
       <td>Junior Javascript Developer</td> 
 
       <td>Edinburgh</td> 
 
       <td>43</td> 
 
       <td>2013/02/01</td> 
 
       <td>$75,650</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Cara Stevens</td> 
 
       <td>Sales Assistant</td> 
 
       <td>New York</td> 
 
       <td>46</td> 
 
       <td>2011/12/06</td> 
 
       <td>$145,600</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Hermione Butler</td> 
 
       <td>Regional Director</td> 
 
       <td>London</td> 
 
       <td>47</td> 
 
       <td>2011/03/21</td> 
 
       <td>$356,250</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Lael Greer</td> 
 
       <td>Systems Administrator</td> 
 
       <td>London</td> 
 
       <td>21</td> 
 
       <td>2009/02/27</td> 
 
       <td>$103,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Jonas Alexander</td> 
 
       <td>Developer</td> 
 
       <td>San Francisco</td> 
 
       <td>30</td> 
 
       <td>2010/07/14</td> 
 
       <td>$86,500</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Shad Decker</td> 
 
       <td>Regional Director</td> 
 
       <td>Edinburgh</td> 
 
       <td>51</td> 
 
       <td>2008/11/13</td> 
 
       <td>$183,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Michael Bruce</td> 
 
       <td>Javascript Developer</td> 
 
       <td>Singapore</td> 
 
       <td>29</td> 
 
       <td>2011/06/27</td> 
 
       <td>$183,000</td> 
 
      </tr> 
 
      <tr> 
 
       <td>Donna Snider</td> 
 
       <td>Customer Support</td> 
 
       <td>New York</td> 
 
       <td>27</td> 
 
       <td>2011/01/25</td> 
 
       <td>$112,000</td> 
 
      </tr> 
 
     </tbody> 
 
    </table> 
 
\t <form role="form"> 
 
    <div class="form-group"> 
 
     <label>Select Number OF Rows To Be Displayed</label> 
 
     <select class="form-control" id="sel1"> 
 
     <option>5</option> 
 
     <option>10</option> 
 
     <option>15</option>   
 
     </select> 
 
    </div> 
 
    </form> 
 
\t </div> 
 
\t </body>

0

Использование JQuery:

$('#sel1').on('change', function() { 
    $("#example tbody tr").show(); 
    $("#example tbody tr:gt("+(this.value-1)+")").hide(); 
}); 

Updated fiddle here

Смежные вопросы