从数据表中某一行的子行中的一行中,如何找到对数据表中父行的访问。基本上,我想在单击展开后的子行时突出显示父行。
我给所有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
突出显示。有任何想法吗? 最佳答案
我试图创建表格的简化版本,并在单击按钮时向其中添加了一个事件...
希望您能够修改此代码以适合您的需求。
该代码选择类为.parentRow
的最近节点,由于嵌套行被添加为同级行,因此我们选择前一行(.prev()
)标记为脏(或突出显示或其他)
如果您对代码有任何疑问,请告诉我。
function UpdateStatus(thisObj) {
var tr = thisObj.closest('.parentRow').prev();
$(tr).removeClass('highlightExpanded');
$(tr).addClass('rowIsDirty');
}
$(document).ready(function() {
$('.UnitStatusButton').on('click', function() {
UpdateStatus($(this));
});
});
.highlightExpanded {
background-color: lightblue;
}
.rowIsDirty {
background-color: royalblue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tr role="row" class="even shown">
<td class=" details-control">iconhere</td>
<td class="sorting_1">Brielle Williamson</td>
<td>Integration Specialist</td>
<td>New York</td>
<td>$372,000</td>
</tr>
<tr class="parentRow highlightExpanded">
<td colspan="5">
<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">
<tbody>
<tr>
<td>Full name:</td>
<td>Brielle Williamson</td>
</tr>
<tr>
<td>Extension number:</td>
<td>4804</td>
</tr>
<tr>
<td>Extra info:</td>
<td>And any further details here (images etc)...</td>
</tr>
<tr>
<td>Edit</td>
<td>
<button class="UnitStatusButton">Click Me</button>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr role="row" class="even shown">
<td class=" details-control">iconhere2</td>
<td class="sorting_1">Jane Williamson</td>
<td>No Specialist</td>
<td>New York</td>
<td>$2,000</td>
</tr>
</table>