dataTable里的数据太长超出列宽时,不换行,出省略号,鼠标移上去以后显示全部数据
时间: 2023-10-10 22:11:03 浏览: 127
您可以使用 DataTables 的列渲染选项来实现这个功能。通过设置列渲染函数,您可以将列中的内容进行截断,并且在鼠标悬停时显示完整的内容。
以下是一个简单的例子:
```javascript
var table = $('#example').DataTable({
columnDefs: [
{
targets: 0, // 目标列
render: function(data, type, row, meta) {
if (type === 'display') {
// 截断文本并显示省略号
data = data.length > 10 ? data.substr(0, 10) + '...' : data;
// 添加 title 属性,在鼠标悬停时显示完整的内容
return '<span title="' + row[0] + '">' + data + '</span>';
}
return data;
}
}
]
});
```
在上面的例子中,我们设置了列渲染函数来截断第一列中的文本。当文本长度超过 10 个字符时,我们将其截断并添加省略号。然后,我们将完整的文本添加到 `title` 属性中,这样当鼠标悬停在单元格上时,就可以显示完整的文本了。
请注意,在 `render` 函数中,我们检查了 `type` 参数。这是因为 `render` 函数会在 DataTables 的不同阶段被调用,例如数据加载、排序、搜索等。通过检查 `type` 参数,我们可以确保只在数据显示时进行文本截断和添加 `title` 属性。
希望这可以帮助您实现您的需求。
阅读全文