0

我有一个 ASP.NET 数据透视表,在该表的单元格中有各种值 1、2、3 或 4。无论选择哪个值,都会将单元格变为四种颜色之一。

$(function () {

        var colors = { 1: 'green', 2: 'orange', 3: 'red', 4: 'blue' };
        $("td").css('background-color', function (index, value) {
            var txt = $(this).text();
            if (colors.hasOwnProperty(txt)) {
                $(this).html(' ') 
                return colors[txt];
            }
            return value;
        });

    });

在基本理论中,这段代码可以正常工作,但是,我想做的是,不是整个表格单元格变成某种颜色,而是我希望表格单元格的一部分根据我的单个值变成某种颜色数据库!

目前,如果一个单元格中有 3 条记录(比如说 3、2、4),那么数字不是单独的,单元格输出分为 3 部分,红色、橙色和蓝色,它们加起来(9)并且没有颜色完全增加了价值。

4

1 回答 1

0

这是 HTML 架构的问题。您可以通过对每个数字使用 a 来划分单元格span,并将颜色应用于跨度而不是整个TD

检查这个小提琴

HTML:

<td>
    <span>3</span>
    <span>2</span>
    <span>4</span>
  </td>​

CSS:

span {
display:block;
    float:left;
}​

JS:

  var colors = ['green','orange','red','blue'];
$("span").each(function(){
             col = parseInt($(this).text());
                $(this).css('background-color', colors[col-1]);

});
于 2012-12-14T14:58:01.020 回答