好的,这是一个益智游戏......
我有一张动态绘制的表格。类别标签以黄色显示,项目标签以绿色显示。
表所在的区域是有限的,所以我需要使用jQuery插件截断单元格内的长标签。该插件允许使用宽度数字值或“自动”,但我想添加一些登录以确定数值应该是什么。
表宽为700px。 我还可以使用jQuery来计算存在多少类别列。 我还可以确定绿色区域中最宽的标签是什么。这是我的代码:
// widest item label (GREEN)
var w = 0;
$(".tData tr td:nth-child(1)").each(function(){
if($(this).width() > w){
w = $(this).width();
}
});
// count category columns (YELLOW)
var colCount = 0;
$(".tData tr:first th:gt(0)").each(function () {
if ($(this).attr("colspan")) {
colCount += +$(this).attr("colspan");
} else {
colCount++;
}
});
var tableWidth = 700,
minWidthCat = 30,
maxWidthCat = 100,
minWidthItem = 100
maxWidthItem = 300;
widthCat = minWidthCat;
widthItem = minWidthItem;
catWmin = Math.floor((tWidth - minWidthCard) / colCount);
catWmax = Math.floor((tWidth - maxWidthCard) / colCount);
// NEED HELP HERE!!!
if () {
}
// truncate categories
$(".tData tr:first th:gt(0)").truncate({
width: widthCat
});
// truncate items
$(".tData tr td:nth-child(1)").truncate({
width: widthItem
});
需要最有意义的逻辑帮助。如果我不必截断我宁愿不设置类别列的宽度,但它们必须所有相同的宽度。
答案 0 :(得分:0)
然后你可以简单地为列设置一些宽度,比如说
700 / columnCount + 1
然后将内容包装在范围内的每个单元格中并设置
overflow:none;
因此,无论如何,内容都会被剪裁。 (除非你以后想要调整列的大小,否则这无济于事)
您是否考虑过使用jqGrid