当我们点击一行时,我使用以下jQuery在第一列中选中一个复选框,除非我们点击一行中的最后一个单元格。
tableid.on('click', 'tbody td:not(td:last-child)', function (e) {
$(this).parent().find('input[type="checkbox"]').trigger('click');
});
我将noselecting
课程添加到了thead> th。现在,就像我使用:not(td:last-child')
跳过最后一个单元格一样,如何通过点击列{d>和noselecting
列来跳过td?
答案 0 :(得分:0)
您可以使用索引
使用单击处理程序对其进行测试
var tableid = $('#mytable');
tableid.on('click', 'tbody td:not(td:last-child)', function(e) {
var $this = $(this),
index = $this.index();
if (!$this.closest('table').find('th').eq(index).hasClass('noselecting')) {
$this.parent().find('input[type="checkbox"]').trigger('click');
}
});

td,
th {
border: 1px solid grey;
}
.noselecting {
background-color: lightblue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="mytable">
<thead>
<th>1</th>
<th class="noselecting">2</th>
<th>3</th>
<th>4</th>
<th class="noselecting">5</th>
</thead>
<tbody>
<td>1</td>
<td>
<input type="checkbox" />
</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tbody>
</table>
&#13;