我正在努力想出一个我最近的question的答案,我相信最好的答案包括偷看第一个子元素的函数,然后在该函数之外设置一个bool用于另一个函数使用。
回顾一下: 我有一个GridView,其结构如下:
组报头
部门标头
部门标头
组报头
部门标头
部门标头
基本上,我希望它能够在单击group-header时隐藏所有后续行,直到下一个group-header(如果它们未被隐藏),否则显示它们。
我在https://jsfiddle.net/dLp47mtd/1/设置了代码和HTML,但有问题的代码没有扩展/折叠:
df1[~df1.name.isin(df2.name)]
答案 0 :(得分:1)
这对我有用,只要您想要显示和隐藏组下的所有行而不记住已经切换过哪些部门。
https://jsfiddle.net/dLp47mtd/5/
// Hide/Show Dept's Data on Click
$(function () {
$('.dept-header').click(function () {
$(this).nextUntil('.dept-header, .group-header').toggle();
});
});
$(function () {
$('.group-header').click(function () {
var elm = $(this);
if (elm.next().is(":visible")) {
elm.nextUntil('.group-header').hide();
} else {
elm.nextUntil('.group-header').show();
}
});
});
答案 1 :(得分:0)
$('.group-header').click(function()
{
$(this).nextAll().each(function()
{
if($(this).hasClass("group-header"))
return false;
if($(this).is(":visible"))
$(this).hide();
else
$(this).show();
});
});