Jquery选项卡 - 动态返回选定的选项卡

时间:2015-06-11 12:22:21

标签: c# jquery asp.net-mvc asp.net-mvc-4 razor

在页面加载时,我想动态显示所选标签。这样就可以显示正确的选项卡。我有以下代码:

<script type="text/javascript">
    $(document).ready(function () {
        var selectedTabId= $("#SelectedTab").val();
        alert(selectedTabId);

        $('#tabs').tabs(
        {
            cache: false,
            beforeActivate: function (event, ui) {
                selectedTabId = ui.newPanel.attr('id');
                $("#SelectedTab").val(selectedTabId);
            },
            selected: selectedTabId
        })

    });
</script>

所选标签正确,在隐藏字段中设置

<input type="hidden" value="@Model.SelectedTab" id="SelectedTab" name="SelectedTab" />

我在stackoverflow上尝试了很多来自链接的选项,无法显示所选的选项卡。 Stackoverflow:selecting & loading a jquery tab programatically

Stackoverflow: Set Jquery ui active tab on page load/reload

$("#tabs").tabs('select', selectedTabId);

2 个答案:

答案 0 :(得分:1)

selected自1.9起已被弃用,现已替换为active,请尝试:

在评论中发现,您需要指定标签的index以选择不是ID

$('#tabs').tabs(
    {
        cache: false,
        beforeActivate: function (event, ui) {
            selectedTabId = ui.newPanel.index();
            $("#SelectedTab").val(selectedTabId);
        },
        active: selectedTabId
    })

确保selectedTabId是从零开始的索引。

答案 1 :(得分:0)

我让这个工作,不确定是否最好的方法。

$("#tabs").tabs(
{
  active: $("#SelectedTabToFind").val(),
  cache: false
});

我在控制器中设置了SelectedTabToFind的值。