用w / jQuery设置表格单元格宽度

时间:2011-08-30 19:00:59

标签: jquery

好的,这是一个益智游戏......

我有一张动态绘制的表格。类别标签以黄色显示,项目标签以绿色显示。

enter image description here

表所在的区域是有限的,所以我需要使用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
});

需要最有意义的逻辑帮助。如果我不必截断我宁愿不设置类别列的宽度,但它们必须所有相同的宽度

1 个答案:

答案 0 :(得分:0)

然后你可以简单地为列设置一些宽度,比如说

700 / columnCount + 1

然后将内容包装在范围内的每个单元格中并设置

overflow:none;

因此,无论如何,内容都会被剪裁。 (除非你以后想要调整列的大小,否则这无济于事)

您是否考虑过使用jqGrid