Показать сообщение отдельно
  #3 (permalink)  
Старый 17.05.2018, 08:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Строка 3 кода:

.on('click', 'th:not(:first)', function () {

Строка 31 кода:

$(row).appendTo('#ceo tbody').find('td:first').text(index+1);

И

<script src="jquery-3.2.1.slim.min.js"></script>
<script src="script.js"></script>

не в конец таблицы, а в конец тела документа, то есть перед </body>

И лишнее в коде можно сократить:

<thead>
        <tr>
        	<th title="num">#</th>
            <th class="desc" title="Name">Имя</th>
            <th class="desc" title="Gender">Gender</th>
            <th class="desc" title="Age">Age</th>
        </tr>
    </thead>


$(function () {
    $('#ceo').on('click', 'th:not(:first)', function () {
        var dst = $(this),
            tbl = $('#ceo tbody'),  
            index = dst.index(),
            rows = [];
      
        dst.toggleClass('asc desc');

        tbl.find('tr').each(function () {
            rows.push(this);
        });

        rows.sort(function (a, b) {
            var aValue = $(a).find('.content').eq(index).text(),
                bValue = $(b).find('.content').eq(index).text();
            
            return aValue > bValue
                ? 1
                : aValue < bValue
                ? -1
                : 0;
        });

        if (dst.hasClass('desc')) rows.reverse();
 
        $.each(rows, function (index, row) {
            $(row).appendTo(tbl).find('td:first').text(index+1);
        });
    });
});

Последний раз редактировалось laimas, 17.05.2018 в 10:14.
Ответить с цитированием