javascript - 在选择时突出显示 xy 轴上的相关表格单元格

标签 javascript jquery angularjs

我有一个看起来像图表的表格。

快速查看:

enter image description here

如何使该表像区域选择图一样工作?例如,如果我选择 6 , the (x, y) of element 6 is (2, 1) 。因此最小相关区域包括 positions (0,0), (0,1), (1,0), (1,1), (2,0), (2,1) 处的元素应突出显示。因此,网格'0,3,1,4,2,6'将突出显示。 像这样:

enter image description here

同样,

-如果我选择 3它将突出显示 0,3网格

enter image description here

-如果我选择 2,它将突出显示 0,1,2网格

enter image description here

我对执行此类操作的 JS 知之甚少。任何帮助都会拯救我的一天。 这是我的 plunker

最佳答案

所以,和其他人一样,我对你想要做的事情有点困惑。似乎与您给出的示例不一致。如果您想沿 x,y 轴突出显示,那么它会与您显示的稍有不同。
不管怎样,我把这些放在一起,也许它会让你开始:

Plunker

它执行图 1 和 3 中所示的操作,但不是图 2。

  $scope.boxes = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
  $scope.boxClass = ['cOne', 'cTwo', 'cThree', 'cFour', 'cFive', 'cSix', 'cSeven', 'cEight', 'cNine']

  $scope.boxes.reverse();
  console.log($scope.boxes)

  $scope.findChecked = function () {
    for (var i = 0; i < $scope.boxes.length; i++){
      if ($scope[$scope.boxes[i]]) {
        $scope.currentBox = 9 - i
        console.log($scope.currentBox)
        break;
      }
    } 
    for (var x = 0; x < $scope.boxClass.length; x++) {
      if (x < $scope.currentBox) {
        $scope[$scope.boxClass[x]] = 'checked'
      } else { 
        $scope[$scope.boxClass[x]] = ''
      }
    }
    }

如果你想沿着x,y坐标突出显示,你可以这样做:

  var row1 = ['cOne', 'cTwo', 'cThree'];
  var row2 = ['cFour', 'cFive', 'cSix'];
  var row3 = ['cSeven', 'cEight', 'cNine'];
  var col1 = ['cOne', 'cFour', 'cSeven'];
  var col2 = ['cTwo', 'cFive', 'cEight'];
  var col3 = ['cThree', 'cSix', 'cNine'];

  var rows = [row1, row2, row3];
  var cols = [col1, col2, col3];

  $scope.setXY = function(x, y) {
    console.log(x, y)
    var i = 0, z = 0;
    for(i = 0; i < rows.length; i++) {
      for(z = 0; z < rows[i].length; z++) {
        $scope[rows[i][z]] = '';
        $scope[cols[i][z]] = '';
      }
    }

    for(i = 0; i < 3; i++) {
      $scope[rows[y][i]] = 'checked';
      $scope[cols[x][i]] = 'checked';
    }
  }

Plunker (这次我使用了按钮......效果更好一点)

关于javascript - 在选择时突出显示 xy 轴上的相关表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949483/

相关文章:

javascript - 如何在 Javascript 中打印文字 unicode 字符串?

jquery - 在行类 "b"之后获取类 "a"行的集合,直到下一个非 -"b"行?

javascript - 从父窗口到 2 层嵌套 iframe 的事件监听器可能吗?

javascript - Ionic 保持指令

javascript - 在 Dojo 请求错误时访问 http body

javascript - 创建一个简单的 Node.js 静态服务器

javascript - 声明不带 var 关键字的变量

jquery - 使用 jQuery 数据属性在伪元素的内容中插入新行

javascript - 如何获取下拉所选值对应的对象数组作为列表?

angularjs - 在 $http 响应中显示成功消息