如何以编程方式设置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如果你的日子从一开始)
答
如果你提供一个隐藏的字段,在服务器端生成并从服务器中填充一个值,然后你想用JavaScript来读取隐藏字段并相应地设置选项卡的活动状态,那么在将其发送到客户端之前,您可能只需在服务器上生成的HTML标记中设置活动状态即可。
您可以通过将以下类添加到li
,您想要从ui-tabs-active ui-state-active
开始活动li
。
此外你必须设置style="display: block"
上连接到要被激活的标签的div
,并设置div
的aria-expanded
属性true
和aria-hidden
属性false
。
这应该是诀窍。
我的日子是星期一,星期二,星期天。我需要将它们转换为枚举吗? – Richard77 2013-05-08 20:00:17
好像你不使用'DayOfWeek',使用它来代替创建你自己的枚举。 – 2013-05-09 01:49:51
非常感谢。看起来你已经想过每一件事情。 – Richard77 2013-05-10 03:34:45