Как реализовать интернет-рекорды в Google App Engine

Это зависит от вашего кода, если вы используете ajax datatables api, то вот аналогичный пример:

$(document).ready(function() {
    $('#example').DataTable( {
        initComplete: function () {
            this.api().columns().every( function () {
                var column = this;
                var select = $('<select><option value=""></option></select>')
                    .appendTo( $(column.footer()).empty() )
                    .on( 'change', function () {
                        var val = $.fn.dataTable.util.escapeRegex(
                            $(this).val()
                        );

                        column
                            .search( val ? '^'+val+' 

Ссылка: datatables.net multi filter select

Если вы не используя datatables api и не хотите ajax, используйте приведенный ниже код и измените его в соответствии с вашими потребностями:

 $("#selectDropdown").on("change", function () {
                    var value = $(this).val();
                    $("table tr").each(function (index) {
                        if (index != 0) {

                            $row = $(this);

                            var id = $row.find("td:first").text();

                            if (id.indexOf(value) != 0) {
                                $(this).hide();
                            }
                            else {
                                $(this).show();
                            }
                        }
                    });

                });
: '', true, false ) .draw(); } ); column.data().unique().sort().each( function ( d, j ) { select.append( '<option value="'+d+'">'+d+'</option>' ) } ); } ); } } ); } );

Ссылка: datatables.net multi filter select

Если вы не используя datatables api и не хотите ajax, используйте приведенный ниже код и измените его в соответствии с вашими потребностями:

 $("#selectDropdown").on("change", function () {
                    var value = $(this).val();
                    $("table tr").each(function (index) {
                        if (index != 0) {

                            $row = $(this);

                            var id = $row.find("td:first").text();

                            if (id.indexOf(value) != 0) {
                                $(this).hide();
                            }
                            else {
                                $(this).show();
                            }
                        }
                    });

                });
10
задан Przemyslaw Zych 4 March 2009 в 08:43
поделиться

2 ответа

Этот поток на группе google-appengine будет, вероятно, представлять интерес. Также похоже, что существует библиотека, ranklist, специально для этого.

В основном это кажется, что они сделали что-то подобное счетчикам черепка.

4
ответ дан 4 December 2019 в 01:58
поделиться

Я реализовал Ranker в нескольких приложениях GAE. Это приложения Facebook, в которые играют от тысяч до сотен тысяч человек. Он работает хорошо, но для моих целей у него есть один большой недостаток: вам нужно заранее объявить окончательный диапазон, в который упадут баллы участника. Это плохо по двум причинам:

  1. если у вас конкурс без В конце, когда оценки людей могут продолжать расти без верхнего предела, вы в упор.

  2. в начале соревнования, когда все собраны вместе около нуля, древовидная структура, используемая ranker.py, неэффективна. дерево уходит очень глубоко и почти не использует свою ширину.

Другими словами, ранкер. py отлично подходит для случая, когда у вас есть участники, чьи оценки случайным образом равномерно распределяются по известному диапазону значений. Для других целей это менее оптимально.

Я надеюсь в ближайшее время разработать более полезный механизм ранжирования. Обязательно обновлю эту ветку, когда это произойдет!

5
ответ дан 4 December 2019 в 01:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: