我有一个HTML表格,它是通过php从MySQL数据库填充的。我正在使用Bootstrap提供的css。无论如何,我的问题是,在某些列中,每个单元格中都包含一个长文本。我正在使用一个隐藏显示其中一部分内容的CSS,因为我希望尽可能保持我的表格紧凑。我尝试了一个jquery的解决方案,但我对它并不是很好,而且它不起作用。我知道还有其他讨论,但我无法做到这些。
<tbody aria-live="polite" aria-relevant="all">
<?php
$i=0;
while ($i < $num) {
$process=mysql_result($risultati,$i,"process");
$A=mysql_result($risultati,$i,"A");
$B=mysql_result($risultati,$i,"B");
$time_A=mysql_result($risultati,$i,"time_A");
$time_B=mysql_result($risultati,$i,"time_B");
?>
<tr class="odd">
<td><font face="Arial, Helvetica, sans-serif"><?php echo $process;?></font></td>
<td ><div id="text"><a class="toggle"><font face="Arial, Helvetica, sans-serif"><?php echo $A;?></font></a></div></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $B;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $time_A;?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $time_B;?></font></td>
</tr>
<?php
$i++;
}
?>
</tbody>
下面&#39;脚本:
<script>
$('.toggle').click(function(){
var target = $(this).closest('#text');
if (target.hasClass('expanded')) {
target.removeClass('expanded');
$(this).text('(expand)');
} else {
target.addClass('expanded');
$(this).text('(collapse)');
}
});
</script>
这就是CSS:
#text {
white-space:nowrap;
overflow:hidden;
width:300px;
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
}
#text.expanded {
max-height:none;
}
答案 0 :(得分:3)
考虑到OP关于复制/粘贴单元格内容的要求的评论,将其放在Boostrap popover的data-content属性中,这应该可以解决问题:
HTML:
<td>
<a href="#" class="btn btn-link too-long" title="Optional Title"
data-content='Content that is too long to display because there is too much of it to fit in your table cell. But it all fits in this popover!'
data-placement="bottom">
Content that is too long to display...</a>
</td>
JS:
$('#too-long').popover()
答案 1 :(得分:0)
试试这个:
将html中的id="test"
更改为class="text"
并更改你的qQuery:
var target = $(this).closest('#text');
到
var target = $(this).closest('.text');
jQuery不知道你引用了哪个#text,因为#text应该是唯一的。
答案 2 :(得分:0)
您可以将单元格的内容复制到title属性中。用户在鼠标悬停时将内容视为工具提示。
<td>
<div id="test" title="Cell contents that are very long ...">
Cell contents that are very long...
</div>
</td>