可折叠表Javascript - 更改初始视图

时间:2013-06-25 17:33:25

标签: javascript jquery html-table expand

我每个月都有一个由<table>组成的日历。我每个月都在使用Javascript进行扩展/折叠。

使用Javascript:

$(function() {
var $month = $('.month');
$month.find("tr").not('.monthLabel').hide();
$month.find("tr").eq(0).show();

$month.find(".monthLabel").click(function(){
    $month.find('.monthLabel').not(this).siblings().fadeOut(500);
    $(this).siblings().fadeToggle(500);
}).eq(0).trigger('click');
});

HTML:

<table border="0" cellpadding="0" class="month jan">
<tr class="monthLabel">
<th scope="col" colspan="7">
<h3>January</h3>
</th>
</tr>
<tr class="weekLabel">
<th class="sun" scope="col" abbr="Sunday">Sun</th>
<th class="mon" scope="col" abbr="Monday">Mon</th>
etc...
</table>

它运行正常,但是现在,默认情况下第一个表(1月)已展开,其余表格已折叠。相反,我希望它默认为当前月份扩展而其余月份崩溃。有没有办法在没有完全重新格式化表格的情况下完成这项工作?这将是理想的,因为这些日历中大约有40个是使用VBasic自动生成的。如果可能的话,我希望实际的表格HTML保持不变。

1 个答案:

答案 0 :(得分:1)

我认为它默认为1月的原因是你在第一行(1月)触发了点击事件 -

...eq(0).trigger('click');

如果您希望默认为其他月份,请提供不同的行号 -

// for february
...eq(1).trigger('click');

就个人而言,我会提取函数,以便在点击事件之外使用它。

function showMonth( monthName ){ .... }