【问题标题】:select associated table header when clicking on a cell单击单元格时选择关联的表头
【发布时间】:2016-10-08 07:04:21
【问题描述】:

如何使用 jQuery 找到每个表格单元格的“视觉位置”的标题行?
例如,如果单击“this”或“click this”单元格,则获取“second”单元格的文本。

table,
th,
td {
  border: 1px solid black;
}
<table class="table table-bordered">
  <thead>
    <tr>
      <th>third</th>
      <th colspan="2">second</th>
      <th>third</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="2"></td>
      <td>this</td>
      <td>this</td>
      <td></td>
    </tr>
    <tr>
      <td rowspan="2">this</td>
      <td>click this</td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td>this</td>
      <td></td>
    </tr>
  </tbody>
</table>

View on JSFiddle

【问题讨论】:

标签: jquery html


【解决方案1】:

这里是解决办法

$(document).ready(function(){
  $('.table td').bind('click',ClickMe)
});
function ClickMe(event){
  var targetObject=event.target;
  var $targetObject=$(targetObject);
  var index=$targetObject.index();
 var $indexObject=$targetObject.closest('table').find('th').eq(index);
  alert($indexObject.html());
}
table,
th,
td {
  border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table class="table table-bordered">
  <thead>
    <tr>
      <th>third</th>
      <th colspan="2">second</th>
      <th>third</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td rowspan="2"></td>
      <td>this</td>
      <td>this</td>
      <td></td>
    </tr>
    <tr>
      <td rowspan="2">this</td>
      <td>click this</td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td>this</td>
      <td></td>
    </tr>
  </tbody>
</table>

希望对你有帮助

【讨论】:

  • 好的开始,但这似乎没有考虑rowspancolspan。例如,当我单击“第三个”标题下的第一个&lt;td&gt; 时,我得到“未定义”; “第二”标题下的一些单元格输出“第三”。
  • 我找到了一个可行的解决方案:stackoverflow.com/a/37312894/4884098
猜你喜欢
  • 2014-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 2019-07-13
相关资源
最近更新 更多