我目前有一个非常疯狂的代码,可以在动态表格中单击和展开行。我的问题是我需要使表中的最后一列不可点击,但我不知道该怎么做。我搜索了互联网并尝试了不同的方法,但似乎没有任何帮助。
这是我的 table :
<table id="myTable">
<tr>
<th>Name</th>
<th>Type</th>
<th>Details</th>
</tr>
{{#each companies}}
<tr class="record">
<td>
{{this.name}}
</td>
<td>
{{this.type}}
</td>
<td id="details">
<img style="height: 20px; width: 20px" src="img/arrow_right.png">
</td>
</tr>
{{/each}}
</table>
我想让最后一列 (ID = "details") 不可点击。
这是我的疯狂点击事件:
$("#myTable").on("click", "tr.record", function () {
var rowIndex = this.rowIndex,
services = null;
var self = this;
$.ajax({
url: "api/relation",
type: 'GET',
success: function (response) {
if (response[rowIndex - 1].relationStats) {
services = response[rowIndex - 1].relationStats.PROVIDES_SERVICE;
}
if (services > 0 && $(self).hasClass('record active')) {
console.log("CLOSING");
$(self.nextSibling).remove();
$(self).removeClass('active');
} else if (services > 0) {
console.log("OPENING");
var openDetails = $('<tr/>').addClass('openDetails').insertAfter(self);
$(self).addClass('active');
var td = $('<td/>').addClass('td').appendTo(openDetails);
$('<p/>').html("Provides service(s): ").appendTo(td);
$('<td/>').html(services).appendTo(openDetails);
}
}
});
});
如有任何帮助,我们将不胜感激!
最佳答案
不是将点击处理程序注册到 tr
,而是使用 td
并过滤掉 last-child
$("#myTable").on("click", "td:not(:last-child)", function () {
var self = $(this).closest('tr').get(0), rowIndex = self.rowIndex,
services = null;
$.ajax({
url: "api/relation",
type: 'GET',
success: function (response) {
if (response[rowIndex - 1].relationStats) {
services = response[rowIndex - 1].relationStats.PROVIDES_SERVICE;
}
if (services > 0 && $(self).hasClass('record active')) {
console.log("CLOSING");
$(self.nextSibling).remove();
$(self).removeClass('active');
} else if (services > 0) {
console.log("OPENING");
var openDetails = $('<tr/>').addClass('openDetails').insertAfter(self);
$(self).addClass('active');
var td = $('<td/>').addClass('td').appendTo(openDetails);
$('<p/>').html("Provides service(s): ").appendTo(td);
$('<td/>').html(services).appendTo(openDetails);
}
}
});
});
关于javascript - 表格中的最后一列不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18396736/