【问题标题】:Three buttons change the data-table content三个按钮更改数据表内容
【发布时间】:2020-02-03 23:45:37
【问题描述】:

我为每个数据表按钮设置了三个按钮,我想过滤这些按钮,我的意思是当我今天按下按钮时,我只会看到当天的数据表以及按钮周和月的数据表。 Here is a picture showing what I mean 这是我的 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("");
}

【问题讨论】:

    标签: javascript jquery html asp.net-mvc radio-button


    【解决方案1】:

    您只需要为按钮创建一个事件,从该事件中调用您的函数,这样您就可以确定按下了哪个按钮。

      <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>
    
    
    

    【讨论】:

    • 当我按下三个按钮中的任何一个不起作用时,没有任何变化。
    • 哎呀抱歉,我刚刚更新并测试了它,所以现在你可以再次检查它。
    • 感谢您对这个问题的关注,但是现在其他表的数据没有被提取,当我按下其中一个按钮时,加载数据需要很长时间但没有显示出来。跨度>
    • 这可能是其他问题,但正如您提到的问题,上述解决方案足以解决它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多