在数据表中显示特定的子行

时间:2015-06-09 23:05:55

标签: javascript jquery datatables

假设我使用row().child()

为数据表行添加了2个子项
ARB_debug_output

后来,我想展示其中一个孩子,而不重新生成它。 Source:OpenGL Type:Error ID:5 Severity:High Message:GL_INVALID_ENUM in glTexImage2D(incompatible format = GL_RGBA, type = GL_TEXTURE_2D) 工作正常,但它会显示两个子项。

如何展示来自row.child([item1, item2]); 的特定儿童?

小提琴:http://jsfiddle.net/mg22w6o5/

尝试点击第一个生成的行。如何只显示其中一个孩子?

我目前的解决方案是否可以帮助任何人:http://jsfiddle.net/mg22w6o5/4/

2 个答案:

答案 0 :(得分:1)

没有直接的API可以有选择地显示或隐藏子行。有row().child()返回所有子<tr>行的jQuery集合,但在这种情况下它没有用。

可能的解决方案是重新创建子行,如下所示:

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进行演示。

答案 1 :(得分:0)

您可以通过节点编号获取它:

row.childNodes[0];

如果你有唯一的id或类,jquery中也有find()。