如何以编程方式设置jQuery默认选项卡?

问题描述:

我有一个代表7个工作日的jQuery UI选项卡。唯一的问题是,第一次加载页面时,星期一是活动选项卡。我也可以使用active:3来更改活动页面,但我不希望修复活动选项卡。我提供了一个隐藏的领域,有一天的价值。如何以编程方式设置jQuery默认选项卡?

@Html.Hidden("day", day) 

那么如何设置活动页面程序?

<script type="text/javascript"> 
    $(function() { 
     $("#tabs").tabs(); 
    }); 
</script> 

感谢您的帮助

你不希望它修复,所以我假设你有所需的活性一天的典范。如果是这样,你可以做到这一点

$('#tabs').tabs({ selected: '@Model.ActiveDay' }); 

这是一个旧的方式(从旧项目)。 Based on the this documentation做的(最新和)正确的做法是这样的:

$("#tabs").tabs({ active: '@Model.ActiveDay' }) 

记住,这是从零开始的,所以要确保你的days是从零开始也是如此,如果没有,那么分配相应的值(例如做-1如果你的日子从一开始)

+0

我的日子是星期一,星期二,星期天。我需要将它们转换为枚举吗? – Richard77 2013-05-08 20:00:17

+0

好像你不使用'DayOfWeek',使用它来代替创建你自己的枚举。 – 2013-05-09 01:49:51

+0

非常感谢。看起来你已经想过每一件事情。 – Richard77 2013-05-10 03:34:45

如果你提供一个隐藏的字段,在服务器端生成并从服务器中填充一个值,然后你想用JavaScript来读取隐藏字段并相应地设置选项卡的活动状态,那么在将其发送到客户端之前,您可能只需在服务器上生成的HTML标记中设置活动状态即可。

您可以通过将以下类添加到li,您想要从ui-tabs-active ui-state-active开始活动li

此外你必须设置style="display: block"上连接到要被激活的标签的div,并设置divaria-expanded属性truearia-hidden属性false

这应该是诀窍。