繁体   English   中英

在asp.net的更新面板中,维护回发中jQuery选择的选项卡

[英]Maintain Jquery selected tab on postback inside of update panel in asp.net

到目前为止,我在更​​新面板中有一个jquery选项卡,此代码是我正在使用的代码

Javascript:

var selected_tab = 1;
$(function () {
    var tabs = $("#tabs").tabs({
        select: function (e, i) {
            selected_tab = i.index;
        }
    });
    selected_tab = $("[id$=selected_tab]").val() != "" ? parseInt($("[id$=selected_tab]").val()) : 0;
    tabs.tabs('select', selected_tab);
    $("form").submit(function () {
        $("[id$=selected_tab]").val(selected_tab);
    });
});

ASPX:

<div id="tabs">
<ul>
    <li><a href="#tabs-1">Tab 1</a></li>
    <li><a href="#tabs-2">Tab 2</a></li>
    <li><a href="#tabs-3">Tab 3</a></li>
</ul>
<div id="tabs-1">
    Content 1
</div>
<div id="tabs-2">
    Content 2
</div>
<div id="tabs-3">
    Content 3
</div>

CS:

protected void Page_Load(object sender, EventArgs e)
{
    selected_tab.Value = Request.Form[selected_tab.UniqueID];
}

每次页面刷新时,选定的选项卡都会返回到选项卡1。请提前帮助我。

尝试以下操作,在页面末尾编写以下脚本,

<script type="text/javascript">
    // below will execute after ajax postback
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

    function EndRequestHandler(sender, args) {
        MyScript();
    }

    function MyScript() {
        var selected_tab = 1;
        var tabs = $("#tabs").tabs({
            select: function (e, i) {
                selected_tab = i.index;
            }
        });
        selected_tab = $("[id$=selected_tab]").val() != "" ? parseInt($("[id$=selected_tab]").val()) : 0;
        tabs.tabs('select', selected_tab);
        $("form").submit(function () {
            $("[id$=selected_tab]").val(selected_tab);
        });
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM