在数据表中显示特定的 child 行
Show specific child row in datatables
假设我使用 row().child()
向数据表行添加了 2 children
row.child([item1, item2]);
稍后,我想展示其中一个children,而不是重新生成它。 row.child.show()
工作正常,除了它显示 both childs。
如何显示来自 row.child
的特定 child?
Fiddle: http://jsfiddle.net/mg22w6o5/
尝试点击第一个生成的行。如何只显示 child 之一?
如果对任何人有帮助,我目前的解决方案:http://jsfiddle.net/mg22w6o5/4/
可以通过节点号获取:
row.childNodes[0];
如果您有唯一 ID 或 类,jquery 中还有 find()。
没有直接 API 来有选择地显示或隐藏子行。虽然有 row().child() returns jQuery 所有子 <tr>
行的集合,但在这种情况下没有帮助。
可能的解决方案是重新创建子行,如下所示:
var dummyChilds = [['child 1'], ['child 2']];
table.row(0).child(dummyChilds);
$('#example tbody').on( 'click', 'tr', function () {
var row = table.row(this);
var children = row.child();
if(children){
var child = row.child;
// Recreate children rows
row.child(dummyChilds[0]);
if ( row.child.isShown() ) {
child.hide();
} else {
child.show();
}
}
} );
请参阅 this JSFiddle 进行演示。
假设我使用 row().child()
向数据表行添加了 2 childrenrow.child([item1, item2]);
稍后,我想展示其中一个children,而不是重新生成它。 row.child.show()
工作正常,除了它显示 both childs。
如何显示来自 row.child
的特定 child?
Fiddle: http://jsfiddle.net/mg22w6o5/
尝试点击第一个生成的行。如何只显示 child 之一?
如果对任何人有帮助,我目前的解决方案:http://jsfiddle.net/mg22w6o5/4/
可以通过节点号获取:
row.childNodes[0];
如果您有唯一 ID 或 类,jquery 中还有 find()。
没有直接 API 来有选择地显示或隐藏子行。虽然有 row().child() returns jQuery 所有子 <tr>
行的集合,但在这种情况下没有帮助。
可能的解决方案是重新创建子行,如下所示:
var dummyChilds = [['child 1'], ['child 2']];
table.row(0).child(dummyChilds);
$('#example tbody').on( 'click', 'tr', function () {
var row = table.row(this);
var children = row.child();
if(children){
var child = row.child;
// Recreate children rows
row.child(dummyChilds[0]);
if ( row.child.isShown() ) {
child.hide();
} else {
child.show();
}
}
} );
请参阅 this JSFiddle 进行演示。