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

时间:2013-05-07 02:13:47

标签: jquery-ui asp.net-mvc-4

我有一个jQuery UI标签,代表7周的日子。唯一的问题是第一次加载页面时,星期一是活动标签。我也可以使用 active:3 更改活动页面,但我不希望修复活动标签。我正在提供一个具有日期价值的隐藏字段。

@Html.Hidden("day", day)

那么我如何设置programaticaly活动页面?

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

感谢您的帮助

2 个答案:

答案 0 :(得分:2)

你不想修复它,所以我假设你在模型中有所需的活动日。如果是这样,你可以这样做

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

这是一种古老的做法(来自旧项目)。 Based on the this documentation(最新和)正确的做法是:

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

请记住它是从零开始的,所以请确保您的days也是零基础,如果没有,则相应地分配值(例如,如果您的日期从1开始,请执行-1)

答案 1 :(得分:1)

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

您可以通过将以下类添加到您希望从开始li开始处于活动状态的ui-tabs-active ui-state-active来完成此操作。

此外,您必须在与您要激活的标签相关联的style="display: block"上设置div,并设置div&#39}。 s aria-expanded属性为truearia-hidden属性为false

这应该是诀窍。