我有django模板如下:
<table id="members-table" class="table table-hover table-vcenter">
<thead>
<tr>
<th>Fullname</th>
<th>Email</th>
<th>Status</th>
</tr>
</thead>
<tbody id="members_list">
{% for member in members %}
<tr data-member-row class="members-row" data-member-id={{ member.user_id }}>
<td>{{ member.user__first_name }} </td>
<td>{{ member.user__email }}</td>
<td data-member-status data-member-id={{ member.user_id }}>
<form method="POST">
<div class="checkbox" style="float: left;">
<input id="member-status-{{ member.user_id }}" class="magic-checkbox" type="checkbox" {% if member.active %} checked {% endif %}>
<label id="status-label-{{ member.user_id }}"> {% if member.active %} Active {% else %} Inactive {% endif %}</label>
</div>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
jquery片段如下:
$('#members_list').on('click', '[data-member-row]', function (e) {
var member_id = e.currentTarget.dataset['memberId'];
alert(member_id)
})
因此,我希望从单击的表行中获取data-member-id
。使用此代码,我得到的就是这样,但问题是如果点击{{1>}的最后一次,我想阻止它。
如果点击了最后一个,我会做其他事情。因此,如果单击最后一个td,我需要不允许执行此table row
。
有什么建议吗?
答案 0 :(得分:0)
$('#members_list').on('click', '[data-member-row]', function (e) {
if(!e.currentTarget.nextElementSibling){
doSomethingElse(); return;
}
var member_id = e.currentTarget.dataset['memberId'];
alert(member_id)
})
答案 1 :(得分:0)
$(#member_list td:not(:last-child)).click()
答案 2 :(得分:0)
试试这个..
trs = document.getElementById(tableId).getElementsByTagName('tr');
tds = trs[trs.length - 1].getElementsByTagName('td');
td = tds[tds.length - 1];
console.log(td.text());
答案 3 :(得分:0)
而不是行上的事件监听器,将它放在单元格上......
$('#members_list').on('click', 'td', function () {
if ($(this).parent().find('td').last().index() === $(this).index()) {
// last td was clicked
} else {
var member_id = $(this).parent().attr('member-id');
alert(member_id)
};
});