找不到任何使用“bootstrap-tables”按多列过滤的方法

Can't find any way to filter by multiple columns using "bootstrap-tables"

提问人:FadeBeatz Official 提问时间:11/5/2023 更新时间:11/5/2023 访问量:32

问:

我最近遇到了“bootstrap-tables”,我喜欢它的设计选项。 一切工作方式与原始数据表版本一样,除了最重要的事情之一:能够同时在多个列中搜索。例如,看一下我的代码,如果我在原始数据表脚本的搜索栏“Action Abenteuer”中输入,它会向我显示具有这两个属性的所有条目。但是当我使用引导版本时,在键入“操作 A”后,它根本没有显示任何结果。此外,当您键入“操作”,然后输入空格键时,它会在 1 秒后自动删除空格。我不明白,这是数据表最好和最重要的功能之一,将其调整为 bootstrap 版本不会那么复杂吗?对于有经验的开发人员..我不是......

我有 2 个脚本,一个使用原始数据表库,第二个使用引导表版本。我花了几天时间试图找到一个解决方案,我真的失去了希望。github repo 上有几个请求,但仍然没有可行的解决方案。有人请帮帮我。

这是我的原始数据表版本:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <title>tabletest</title>
 
    <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
    <script src="https://cdn.datatables.net/1.13.7/js/jquery.dataTables.js"></script>
</head>

<body>
    <table id="myTable">
        <thead>
            <tr>
                <th>Titel</th>
                <th>Genre</th>
                <th>Subgenre</th>
                <th>Bewertung</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Peter</td>
                <td>Action</td>
                <td>Psycho</td>
                <td>1</td>
            </tr>
            <tr>
                <td>Paul</td>
                <td>Comedy</td>
                <td>Sport</td>
                <td>3</td>
            </tr>
            <tr>
                <td>Mary</td>
                <td>Action</td>
                <td>Psycho</td>
                <td>7</td>
            </tr>
            <tr>
                <td>John</td>
                <td>Action</td>
                <td>Abenteuer</td>
                <td>2</td>
            </tr>
            <tr>
                <td>Helen</td>
                <td>Comedy</td>
                <td>Sport</td>
                <td>6</td>
            </tr>
        </tbody>
    </table>
    
    <script>
        $(document).ready( function () {
            $('#myTable').DataTable( {
            "dom": 'f'
            } );
        } );
        
        var table = $('#example').DataTable();
    </script>
    
</body>
</html>

#####################################################################################################

这是我的第二个代码,bootstrap-tables 版本:

<!doctype html>
<html lang="en">
<head>
    <title>TestTable</title>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css">
    <link href="assets/css/fresh-bootstrap-table.css" rel="stylesheet" />
    <link href="assets/css/demo.css" rel="stylesheet" />
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
    <link href="http://fonts.googleapis.com/css?family=Roboto:400,700,300" rel="stylesheet" type="text/css">

    <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <script src="bootstrap_table/src/bootstrap-table.js"></script>
</head>

<body>
    <div class="wrapper">
        <div class="container">
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <div class="fresh-table full-color-orange">

                        <table id="mytable" data-search="true">
                            <thead>
                                <th data-field="Titel" data-sortable="true">Name</th>
                                <th data-field="Genre" data-sortable="true">Genre</th>
                                <th data-field="Sub" data-sortable="true">Sub</th>
                                <th data-field="Bewertung" data-sortable="true">Rating</th>
                            </thead>
                            <tbody>
                                <tr>
                                    <td>Peter</td>
                                    <td>Action</td>
                                    <td>Psycho</td>
                                    <td>3</td>
                                </tr>
                                <tr>
                                    <td>Paul</td>
                                    <td>Action</td>
                                    <td>Abenteuer</td>
                                    <td>4</td>
                                </tr>
                                <tr>
                                    <td>Mary</td>
                                    <td>Comedy</td>
                                    <td>Abenteuer</td>
                                    <td>5</td>
                                </tr>
                                <tr>
                                    <td>John</td>
                                    <td>Action</td>
                                    <td>Abenteuer</td>
                                    <td>1</td>
                                </tr>
                                <tr>
                                    <td>Mike</td>
                                    <td>Comedy</td>
                                    <td>Psycho</td>
                                    <td>6</td>
                                </tr>
                                <tr>
                                    <td>Helen</td>
                                    <td>Comedy</td>
                                    <td>Abenteuer</td>
                                    <td>4</td>
                                </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>

<script>
    var $table = $('#mytable')

    $(function () {
        $table.bootstrapTable({
            classes: 'table table-hover table-striped',
            search: true,
            striped: true,
            sortable: true,
            pageSize: 8,
        })
    })
</script>

</html>

我尝试过很多不同的东西,我什至不记得它们......似乎没有解决这个问题的方法。

我认为,最初,当作者开始编写“bootstrap-tables”时,原始的 datatables lib 也无法做到这一点。但在最新版本中,它可以搜索多个列。所以也许这只是改变他的代码中的几行问题?还尝试给他发短信,但没有回复。

jquery twitter-bootstrap 数据表

评论


答: 暂无答案