Autor | Zpráva | ||
---|---|---|---|
benett Profil |
Mám tabulku, u které se po kliknutí na řádek zobrazí více dat, která jsou stránkovaná. Vše funguje, akorát se ta další data zobrazí až poté, co kliknu na stránkovací odkaz. Jak docílit toho, aby se hned po kliknutí na řádek zobrazila ta data (jako když teď kliknu na odkaz "1")?
<!doctype html> <html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="tab.css"> <script src="https://code.jquery.com/jquery-3.1.0.min.js"></script> <script src="tab.js"></script> </head> <body> <table><tr><th>Text</th><th>A</th><th>B</th><th>C</th></tr><tr><td>blabla</a></td><td>8</td><td>1</td><td>2</td></tr><tr id="det123" class="hide"><td colspan="5"><a>1</a> </td></tr></table></body></html> //tab.css .hide{display: none} .show{display: table-row} //tab.js $(document).ready(function(){ var max = 10; var j = 0; var dat = new Object(); var text='blabla'; $('table').on('click', '[id^=det] a', function(){ j = $(this).text() * 1; var text = $(this).parent().parent().prev().children('td:nth-child(2)').text(); text = text.substring(text.lastIndexOf(' ') + 1); var id = $(this).parent().parent().attr('id'); $(this).parent().parent().nextUntil('tr:not(.hide)').hide(); dat[text] = ( typeof dat[text] != 'undefined' && dat[text] instanceof Object ) ? dat[text] : {}; dat[text][1] = {'a': '1234', 'b': '7987'}; dat[text][2] = {'a': '798', 'b': '465'}; for(var i = j + max; i > j; i --){ if(!(dat[text][i] === undefined || dat[text][i] === null)) $('#'+ id).after('<tr class="hide show"><td colspan="4">'+ dat[text][i].a +', '+ dat[text][i].b +'</td></tr>'); } }); $('table').on('click', 'tr:not(.hide)', function(e){ $(this).nextUntil('tr:not(.hide)').toggleClass('show'); }); }); |
||
Časová prodleva: 8 let
|
0