【发布时间】:2015-09-18 19:30:35
【问题描述】:
如何从数据表中一行的子行中的一行中找到对数据表中父行的访问。基本上,我想在单击展开后的子行时突出显示父行。
我给所有 parentRows 一个类名,当点击子行中的按钮时,我这样做了:
var tr = $(this).prev('.parentRow');
tr.addClass('rowIsDirty');
<tr class="vcenter parentRow">
<td class="hidden">@element.ElementName</td>
<td class="details-control meter"></td>
<td>@element.ElementTemplateName</td>
<td>@element.ElementName</td>
<td>@element.MeterTemplateName</td>
<td>@element.MeterName</td>
</tr>
<td class="details-control">@element.CaseDataPairs</td>
<td class="text-left"><b>@item.ProductName</b></td>
<td class="text-left">@item.ProductGroupName</td>
<td class="text-center">@item.VersionsCount</td>
<td class="text-center">
<a href="@Url.Action("ProductView", "ProductManagement", new RouteValueDictionary(new {productId = item.ProductId}))" class="btn btn-sm btn-secondary ui-tooltip details-Customer" id="ProductDetails"><i class="fa fa-pencil-square-o"></i></a>
</td>
<td class="text-center">
<input checked="@item.IsActive" data-toggle="toggle" class="toggleCheckBox ActivateProductButton" data-style="ios" data-on="Active" data-off="InActive" type="checkbox" id="EditAccountIsActive" data-product-id="@item.ProductId">
</td>
$(document).on('change', '.ActivateProductButton, function() {
UpdateStatus($(this));
});
function UpdateStatus(thisObj) {
var tr = thisObj.closest('.parentRow');
tr.removeClass('highlightExpanded');
tr.addClass('rowIsDirty');
}
它没有给我parentRow 来突出显示。有什么想法吗?
【问题讨论】:
-
使用
$(this).closest('.parentRow');- 但是,如果没有看到您的 HTML,很难准确判断 -
我正在使用数据表网站上的示例来展开和折叠行以显示子详细信息。
-
您介意发布您的 HTML 和/或为您的特定问题创建一个小提琴吗?它使问题自给自足,并且每个人都更容易解决问题。 (相关:stackoverflow.com/help/mcve)
-
由于结构和长度的原因,我很难发布我的 html。这是我使用的示例,仅将子列项替换为按钮并处理 onclick 事件。肯定会调用 click 事件。 datatables.net/reference/api/row().child()
-
它不必是所有代码只是 MCVE..(阅读链接)-帮助我,帮助你!!
标签: javascript jquery datatables