我在表中有10行。每行第一列(td)是用於擴展新tr行的(+按鈕)。我可以通過手動點擊+按鈕來展開和關閉任何行。但我也有一個常見的複選框來一次性展開和關閉所有tr。這是工作正常,當我分開做。如果我點擊複選框,它會點擊+按鈕使用代碼($(this).click())如何根據checbox點擊擴展和關閉tr
但問題是我通過單擊+按鈕擴大了一行。之後,我點擊通用複選框,然後它將打開所有展開的行,但在這裏它關閉了我已打開的行。我的要求不要通過單擊+按鈕關閉已打開的行。
在展開的時候,我在當前行(tr)中添加了一個新類(「.shown」),其中+ button類名是(「.details-control」)。
以下代碼是針對點擊時的常用複選框代碼。
$('.common-checkall').on('change', function() {
var status = this.checked;
$(".details-control:visible").each(function(){
$(this).click();
});
});
這是+按鈕的代碼調用 $(this).click();
例如之前擴大
$(elemId+' tbody').on('click', 'td.details-control', function(){
var tr = $(this).closest('tr');
var row = royaltiesTable.row(tr);
try {
if (row.child.isShown()) {
row.child.hide();
tr.removeClass('shown');
} else {
row.child(format(row.data(), tr)).show();
tr.addClass('shown');
}
} catch(err) {
console.log("");
}
});
向我們顯示您的工作代碼。以便我們能夠解決您的查詢。 – Sharmila
我只添加了這段代碼。 –