Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
jQuery UI选项卡,活动选项卡不更改_Jquery_Asp.net Mvc_Jquery Ui - Fatal编程技术网

jQuery UI选项卡,活动选项卡不更改

jQuery UI选项卡,活动选项卡不更改,jquery,asp.net-mvc,jquery-ui,Jquery,Asp.net Mvc,Jquery Ui,请参阅下面的代码。ASP.NET MVC应用程序中使用的代码。当我到达页面时,没问题,我看到了第一个选项卡的内容。我点击第二个标签,我看到了第二个标签的内容。我返回到第一个选项卡仍然没有问题,但当我再次尝试在第二个选项卡上执行不起作用的操作时,我仍然停留在第一个选项卡上 $.post工作并返回正确的值,但第一个选项卡保持活动状态 你能帮我吗 谢谢 <script type="text/javascript"> $(document).ready(function() {

请参阅下面的代码。ASP.NET MVC应用程序中使用的代码。当我到达页面时,没问题,我看到了第一个选项卡的内容。我点击第二个标签,我看到了第二个标签的内容。我返回到第一个选项卡仍然没有问题,但当我再次尝试在第二个选项卡上执行不起作用的操作时,我仍然停留在第一个选项卡上

$.post工作并返回正确的值,但第一个选项卡保持活动状态

你能帮我吗

谢谢

<script type="text/javascript">
    $(document).ready(function() {
        var $tabs = $("#tabs").tabs({
            select: function (e, ui) {
                var thistab = ui;
                runMethod(thistab.index);
            }
        });
    });

    function runMethod(thistab) {
        selectedtab = thistab;
        switch (thistab) {
            case 0:
                $.post("/MyController/Action1", { var1: 1, var2: 0 },
                        function (data) {
                            $("#tabs-1").replaceWith(data);
                        }
                 );
                break;
            case 1:
                $.post("/MyController/Action2", { var1: 2, var2: 1 },
                        function (data) {
                            $("#tabs-2").replaceWith(data);
                        }
                 );
                break;
            case 2:
                alert(2);
                break;
        }
    }
</script>

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Tab1</a></li>
        <li><a href="#tabs-2">Tab2</a></li>
        <li><a href="#tabs-3">Tab3</a></li>
    </ul>
    <div id="tabs-1">Tab1</div>
    <div id="tabs-2">Tab2</div>
    <div id="tabs-3">Tab3</div>
</div>

$(文档).ready(函数(){
var$tabs=$(“#tabs”).tabs({
选择:功能(e、ui){
var thistab=ui;
runMethod(thistab.index);
}
});
});
函数runMethod(thistab){
selectedtab=此选项卡;
开关(此选项卡){
案例0:
$.post(“/MyController/Action1”,{var1:1,var2:0},
功能(数据){
$(“#表1”)。替换为(数据);
}
);
打破
案例1:
$.post(“/MyController/Action2”,{var1:2,var2:1},
功能(数据){
$(“#表2”)。替换为(数据);
}
);
打破
案例2:
警报(2);
打破
}
}
表1 表2 表3
您是否尝试过简单地使用jquery ui选项卡的内置AJAX功能


$(文档).ready(函数(){ $(“#tabs”).tabs({ajaxOptions:{type:“POST”},cache:false});//合并了tobias86关于设置cache选项的建议 });
我同意,这比自己加载选项卡内容要简单得多。如果问题是希望每次单击选项卡时都重新加载选项卡内容,则在初始化选项卡时只需使用
cache:false
选项。感谢您提供的信息。两个备注/信息:1。当我更改选项卡时,其他选项卡的内容必须为“清理”;2.视图返回有一些文本框、下拉列表、日期选择器(jquery ui),它们必须工作(必须连接到jquery)。在选项卡内容中调用的部分视图中,只需在jquery调用中嵌入一个脚本块(不必再次引用jquery)
<div id="tabs">
    <ul>
        <li><a href="/MyController/Action1/?var1=1&var2=0">Tab 1</a></li>
        <li><a href="/MyController/Action2/?var1=2&var2=1">Tab 2</a></li>
    </ul>
</div>

<script type="text/javascript">
    $(document).ready(function() {
    $("#tabs").tabs({ ajaxOptions: { type: "POST" }, cache: false });  //incorporated tobias86's suggestion of setting the cache option
    });
</script>