3

我在一个带有 bootstrap 和 jquery 的网站上使用 Datatables 来处理一个大型(2000 多个条目)表。一些(文本)值太长了,目前我使用这样的东西:

render: function ( data, type, row ) {
                        return data.length > 35 ?
                        data.substr( 0, 35 ) +'…' :
                            data;
                    }

在 Datatables 中剪切字符串并在 html 标题中显示完整值。有一个更好的方法吗?就像一个插件会自动剪切但在点击时会显示所有内容或类似的东西?我找不到东西。

我看到了 jquery dotdotdot,但它没有给我点击扩展。

4

1 回答 1

6

在 javascript 中修改字符串以使它们更易于查看或“适合”某些 DOM 元素是完全不行的。特别是当您在这里有许多正在回调中预处理的字符串时。

如果您对某些(或所有)列强制使用固定宽度,例如:

table.dataTable td:nth-child(3) {
  max-width: 100px;
}

然后你可以使用简单的 CSS 来确保列的内容不被换行,不超出边距,如果它太大,则显示一个很好的省略号

table.dataTable td  {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

演示-> http://jsfiddle.net/ax1gr1og/

于 2016-07-13T09:46:22.323 回答