Три кнопки изменяют содержимое таблицы данных - PullRequest
0 голосов
/ 06 октября 2019

У меня есть три кнопки для каждой кнопки таблицы данных, я хочу отфильтровать эти кнопки, я имею в виду, что когда я нажимаю кнопку сегодня, я получаю только таблицу данных за день, а также кнопку неделю и месяц. Вот изображение, показывающее, что я имею в виду Вот мой HTML-код:

<div class="row">
   <div class="col-sm-9 m-b-xs">
       <div data-toggle="buttons" class="btn-group btn-group-toggle">
           <label class="btn btn-sm btn-white"> <input type="radio" id="option1" name="options"> Day </label>
           <label class="btn btn-sm btn-white active"> <input type="radio" id="option2" name="options"> Week </label>
           <label class="btn btn-sm btn-white"> <input type="radio" id="option3" name="options"> Month </label>
       </div>
   </div>
</div>

, а вот мой JS-код:

var empList = [];
var filter_expired = 'all';

function generateTable() {
    var html = '';
    console.log("ok", empList);
    $.each(empList, function (key, item) {
        if (filter_expired == 'all' || (filter_expired == "expired" && item.isExpired == true) || (filter_expired == "notExpired" && item.isExpired == false)) {
            html += '<tr>';
            html += '<td style="vertical-align: middle;">' + item.anything + '</td>';
            html += '<td style="vertical-align: middle;">' + (item.anything1 !== undefined ? item.anything1 : "-") + '</td>';
            html += '<td style="vertical-align: middle;">' + (item.anything2 !== undefined ? item.anything2 : "-") + '</td>';
            html += '<td style="vertical-align: middle;">' + (item.anything3 !== undefined ? item.anything3 : "-") + '</td>';
            html += '<td style="vertical-align: middle;">' + (item.anything4 !== undefined ? item.anything4 : "-") + '</td>';
            html += '</td></tr>';
            html += '</tr>';
        }
    });

        $('#myTable').append('<tbody class="tbody">' + html + '</tbody><tfoot><tr class="footable-paging"><td colspan="9"><div class="footable-pagination-wrapper"><ul class="pagination pull-right"><li id="arrowFirst" class="footable-page-arrow disabled"><a data-page="first" href="#first">«</a></li><li class="footable-page-arrow disabled"><a data-page="prev" href="#prev">‹</a></li><li class="footable-page active"><a data-page="0" href="#">1</a></li><li class="footable-page"><a data-page="1" href="#">2</a></li><li class="footable-page-arrow"><a data-page="next" href="#next">›</a></li><li id="arrowLast" class="footable-page-arrow"><a data-page="last" href="#last">»</a></li></ul></div></td></tr></tfoot>');
        $('#myTable').footable({
            "paging": {
                "enabled": true,
                "data-page-size": "15",
                "data-limit-navigation": "3"
            },
            "sorting": {
                "enabled": true
            }
        });

        clientRefresh();
        $('.ibox').children('.ibox-content').toggleClass('sk-loading'); $('.ibox').addClass('bounce');
        $("#search").val("");
}

1 Ответ

0 голосов
/ 07 октября 2019

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

  <div class="row">
        <div class="col-sm-9 m-b-xs">
            <div data-toggle="buttons" class="btn-group btn-group-toggle">
                <label class="btn btn-sm btn-white"> <input type="radio" value="day" id="option1" name="options" > Day </label>
                <label class="btn btn-sm btn-white active"> <input type="radio" value="week" id="option2" name="options"> Week </label>
                <label class="btn btn-sm btn-white"> <input type="radio" value="month" id="option3" name="options"> Month </label>
            </div>
        </div>
    </div>

Теперь вам нужно обработать общее событие изменения

<script src="~/Scripts/jquery-3.3.1.js"></script>
<script>
    $(document).ready(function () {
        $('input:radio[name=options]').change(function () {
            var filterType = $(this).val();
            generateTable(filterType)

        });
});

function generateTable(filterType) {
//do filter in your code using above param
}
</script>


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...