Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
回发c#jQuery 1.10时保持制表符的位置_C#_Javascript_Jquery_Asp.net_Jquery Ui Tabs - Fatal编程技术网

回发c#jQuery 1.10时保持制表符的位置

回发c#jQuery 1.10时保持制表符的位置,c#,javascript,jquery,asp.net,jquery-ui-tabs,C#,Javascript,Jquery,Asp.net,Jquery Ui Tabs,我有一个包含jQueryUI选项卡控件的页面。那很好用。 我遇到的问题是在DropDownList中出现的回发之间保存所选选项卡,而不(当然)禁用这些回发 我的aspx页面上有以下代码,我没有收到任何Javascript错误: <script> var selected_tab = 1; $(document).ready(function () { var tabs = $("#rapportentabs").tabs({ a

我有一个包含jQueryUI选项卡控件的页面。那很好用。 我遇到的问题是在DropDownList中出现的回发之间保存所选选项卡,而不(当然)禁用这些回发

我的aspx页面上有以下代码,我没有收到任何Javascript错误:

<script>
    var selected_tab = 1;
    $(document).ready(function () {
        var tabs = $("#rapportentabs").tabs({
            activate: function (e, i) {
                selected_tab = i.index;
            }
        });
        selected_tab = $("[id$=selected_tab]").val() != "" ? parseInt($("[id$=selected_tab]").val()) : 0;
        tabs.tabs("option", "active", selected_tab);
        $("form").submit(function () {
            $("[id$=selected_tab]").val(selected_tab);
        });
    });
</script>

<div id="rapportentabs">//containing the tabs itself</Div>
<asp:HiddenField ID="selected_tab" runat="server" />
我终于找到了一个似乎非常有效的解决方案

只需使用对对象的直接引用更改javascript部分,并使用i.newTab.index()而不是i.index

正确的脚本应为:

<script>
    var selected_tab = 1;
    $(document).ready(function () {
        var tabs = $("#rapportentabs").tabs({
            activate: function (e, i) {
                selected_tab = i.newTab.index();
                $("#selected_tab").val(selected_tab);
            }
        });
        selected_tab = $("#selected_tab").val() != "" ? parseInt($("#selected_tab").val()) : 0;
        tabs.tabs("option", "active", selected_tab);
        $("form").submit(function () {
            $("#selected_tab").val(selected_tab);
        });
    });
</script>

所选var_tab=1;
$(文档).ready(函数(){
变量选项卡=$(“#报告者选项卡”).tabs({
激活:功能(e,i){
选定的_tab=i.newTab.index();
$(“#所选#选项卡”).val(所选#选项卡);
}
});
选定的选项卡=$(“#选定的选项卡”).val()!=”?parseInt($(“#选定的选项卡”).val()):0;
制表符。制表符(“选项”,“活动”,选定的\u制表符);
$(“表格”)。提交(函数(){
$(“#所选#选项卡”).val(所选#选项卡);
});
});

一个选项是将所选选项卡保存在本地存储中,然后在页面加载时将其还原-这将产生一个副作用,即不仅在发布时保存所选选项卡,而且在关闭选项卡并重新打开时也保存所选选项卡

另一个更好的选择是使用Ajax发布表单,这样你就根本不会刷新页面——但这意味着你必须更新任何页面更改,如果你有大量服务器端呈现代码,这可能需要大量工作。

美元的长度是多少(“[id$=选定的\U选项卡]”)?它找到它了吗?$(“[id$=selected\u tab]”)的长度为1,它的值ALL尽管始终返回空字符串
<script>
    var selected_tab = 1;
    $(document).ready(function () {
        var tabs = $("#rapportentabs").tabs({
            activate: function (e, i) {
                selected_tab = i.newTab.index();
                $("#selected_tab").val(selected_tab);
            }
        });
        selected_tab = $("#selected_tab").val() != "" ? parseInt($("#selected_tab").val()) : 0;
        tabs.tabs("option", "active", selected_tab);
        $("form").submit(function () {
            $("#selected_tab").val(selected_tab);
        });
    });
</script>