javascript - jQuery 数据表 : Heading and Search on the same line

标签 javascript c# jquery asp.net-mvc datatables

目前我的 jQuery 数据表如下所示:

Picture

我希望历史记录标题和搜索栏位于同一行。

我已经实现了这样的标题和表格:

<h2>History</h2>
<table class="table" id="history_tbl" style="width:100%">
    <thead>
        <tr>
            ...
        </tr>
    </thead>
    <tbody>
        @for (var i = 1; i < M.Count(); i++)
        {
        <tr>
            ...
        </tr>
        }
    </tbody>
</table>

以及数据表的以下规范:

$("#history_tbl").DataTable({
                "columns": [
                    { searchable: false },
                    null,
                    { searchable: false },
                    { searchable: false },
                    { searchable: false },
                    { searchable: false },
                    { searchable: false }
                ],
                ordering: false,
                paging: true,
                lengthChange: false,
                language: {
                    searchPlaceholder: "Search names",
                    search: ""
                }
            });

我发现我可以通过添加 DOM 来更改某些内容,但我不太确定我的情况需要什么。

感谢任何帮助!

最佳答案

这里有两个选项 - 两个都不太理想:

选项一

一种方法,使用 dom 您提到的选项是这样的:

$('#example').DataTable( {
  dom: '<"title"<"filter"f>>rtip'
} );

这放置了f过滤器控件位于其自己的 div 中,样式类为 filter ,然后将其包装在另一个样式类为 title 的 div 中.

然后我们需要<head>中的以下样式部分HTML 页面的内容:

.title::before {
  font-size: 2em;
  margin: 1.5em 0 0 0;
  content: "History";
}

.filter {
  float: right;
}

最后,<h2>History</h2>要使用此方法,需要从页面中删除元素。

我的最终结果是这样的:

enter image description here

这种方法有几个重要的缺点:

  1. 它强制您在 CSS 中放置一些内容(标题) - 而样式和内容应该保持分开。

  2. 这可能会使实现国际化变得更加困难(如果需要的话)。

选项二

或者,您可以使用 <h2>标签,具有一些相对定位 - 例如:

<div style="position: relative; top: 30px;"><h2>History</h2></div>

这会将标题从顶部向下推 30 像素(您可能需要根据您的具体需求进行调整)。

在这种情况下,您不需要使用 <dom>选项,或第一个选项中的相关样式。

这也有一些重要的缺点:

  1. 它可能很脆弱 - 在某些情况下(例如不同的屏幕分辨率)会出现意外/不需要的行为。

  2. 页面顶部可能存在不需要的空白间隙,这需要额外的样式解决方法来删除。

关于javascript - jQuery 数据表 : Heading and Search on the same line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64097670/

相关文章:

javascript - 最小化 getElementById/getElementsByClassName 的代码

Javascript - 在两个日期对象之间创建数组

javascript - 使用 JavaScript 压缩包含嵌入图像的 HTML 字符串

c# - 服务器/客户端套接字连接

C# Pdf 到带有图像占位符的文本

php - 如何使用 JQuery 和 PHP?

javascript - 如何在下拉列表中传递所选值并附加到 site_url 中?

javascript - 使用 Javascript 进行(多次)重定向后获取最终 URL

c# - 在 GridView 中翻转项目图像

javascript - 使用 javascript 或 jquery 根据表头列对表行进行排序