在新建一个首次交底时,用ajaxForm表单提交,成功后,通过回调函数返回这个页面并显示这条添加的信息
我希望只刷新选卡项的内容,不知道如何实现,求大家帮帮忙,在线等,很急jQuerytabs

解决方案 »

  1.   

    $( ".selector" ).tabs( "refresh" );
    http://api.jqueryui.com/tabs/#method-refresh

    或者给tab的内容控件增加id,通过jquery来操作这个控件就行了$('#id').append('xxxxx')
      

  2.   

    refresh没用,现在想在选中的选项卡,如图,我进行修改操作,成功后返回这个原页面,并且还是这个选项卡,需要怎么做,现在我返回一直是默认第一个选项卡,求大神帮忙,谢谢了
      

  3.   

    本帖最后由 showbo 于 2013-07-29 21:04:50 编辑
      

  4.   

    额,我点引用点成丢板砖了,版主sorry啊,,jquery.js是1.7.1的
      

  5.   

    不UI的版本,不是jQuery。。UI 1.8用$('selector').tabs('select',index)来激活需要的tab,index从0开始计算 UI 1.9+用$( ".selector" ).tabs( "option", "active",index ); 自己对照UI的版本,调用不同的api来完成,1.8和1.9+的API修改过激活方式了
      

  6.   

    楼主解决了么,版本大人说的很仔细啊,应该是没问题的啊,  我也跟3楼一样的疑问 你是刷新选项卡?还是选中的选项卡内容的记录区域? 如果是刷新选项卡,用refresh应该是可以的啊,或者close掉再open,
    如果是刷新选项卡内容,就那刷新你绑定的那个数据表格就可以了,  其它的不会被刷新掉的。
     
      

  7.   

    版主我用的就是ui的列子,只是jquery.js 是1.7的,需要怎么激活当前选中的选项卡
      

  8.   

    刷新选中 的选项卡,我每次返回都是默认的第一个选项卡,
      $(function () {
            $("#tabs").tabs({ ajaxOptions: { async: true} },
                  {
                beforeLoad: function (event, ui) {
                    ui.jqXHR.error(function () {
                        ui.panel.html("加载错误 ");
                    });
                }
            });      
        });      $(function () {
            $(".selector").tabs("refresh");
            var $tabs = $('#tabs').tabs();
            var selected = $tabs.tabs('option', 'selected');
          
        
        })
    这是代码,看一下,帮帮忙
      

  9.   


    10楼版主说的很仔细了,你仔细看看  根据你的版主参照试试, 
    ('selector').tabs('select',index) 我没用jqueryui 但是感觉这个应该是有的啊, 如果实在不行,你就close 再open 这样打开的那个永远在最后面,肯定也是选中的那一个。
      

  10.   


    10楼版主说的很仔细了,你仔细看看  根据你的版主参照试试, 
    ('selector').tabs('select',index) 我没用jqueryui 但是感觉这个应该是有的啊, 如果实在不行,你就close 再open 这样打开的那个永远在最后面,肯定也是选中的那一个。
    好的,我试试,先谢谢了
      

  11.   


    选择器要修改过啊。。tabs不是这样配置的吧
          $(function () {
              $('#tabs').tabs('option', 'active', 3);//激活第四个tabs
          });
      

  12.   


    选择器要修改过啊。。tabs不是这样配置的吧
          $(function () {
              $('#tabs').tabs('option', 'active', 3);//激活第四个tabs
          });
    这个我试了默认选中第四个选项卡,,可是我在对选项卡里面内容进行操作时,返回页面的时候,他还是默认第一个,我代码设置了,
     $(function () {
            $("#tabs").tabs({ active: 0 },
                  {
                      beforeLoad: function (event, ui) {
                          ui.jqXHR.error(function () {
                              ui.panel.html("加载错误 ");
                          });
                      }
                  });        //$('#tabs').tabs('select', 3);
            //$("#tabs").tabs("option", "active", 3);
            var tabs = $('#tabs').tabs("option");
            // var selected = $tabs.tabs('option', 'selected');
            console.log(tabs);
            alert(tabs);
        });版主可以给份demo嘛,[email protected]
      

  13.   

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>jQuery UI Tabs - Default functionality</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script>
        $(function () {
            $("#tabs").tabs({ active: 2 }); //默认第三个tab激活         setTimeout(function () {//3s后自动设置第二个tab激活
                alert('active')
                $("#tabs").tabs('option', 'active', 1);
            }, 3000);
        });
    </script>
    </head>
    <body><div id="tabs">
    <ul>
    <li><a href="#tabs-1">Nunc tincidunt</a></li>
    <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
    </ul>
    <div id="tabs-1">
    <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
    </div>
    <div id="tabs-2">
    <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p>
    </div>
    <div id="tabs-3">
    <p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>
    <p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p>
    </div>
    </div><div class="demo-description">
    <p>Click tabs to swap between content that is broken into logical sections.</p>
    </div>
    </body>
    </html>
      

  14.   

    我做的操作有逻辑在里面,是点击一个操作action,到tabs这个页面,   <div id="tabs">
                      <ul>
                           <li rel="1"><a href="/SupervisionScheme/[email protected] &[email protected]  &[email protected] &subjectIDX==subjectIDX">监督方案</a></li>
                           <li ref="2" id="first"><a href="/FirstOver/[email protected] &[email protected]  &[email protected] &subjectIDX==subjectIDX">首次交底</a></li>
                           <li ref="3"><a href="/SupervisionScheme/ToSuperviseRecord">监督记录</a></li>
                           <li ref="4"><a href="/SupervisionScheme/ToSubjectEdit">工程整改</a></li>
                           <li ref="5"><a href="/SupervisionScheme/ToShowFirstOver">暂停施工</a></li>
                           <li ref="6"><a href="/SupervisionScheme/ToShowFirstOver">恢复施工</a></li>
                           <li ref="7"><a href="/SupervisionScheme/ToShowFirstOver">质量事故</a></li>
                           <li ref="8"><a href="/SupervisionScheme/ToShowFirstOver">监督告知书 </a></li>
                           <li ref="9"><a href="/SupervisionScheme/ToShowFirstOver">竣工验收综合执法核查表</a></li>
                           <li ref="10"><a href="/SupervisionScheme/ToShowFirstOver">资料(备用)</a></li>
                           <li ref="11"><a href="/SupervisionScheme/ToShowFirstOver">工程相关现场检查日志 </a></li>
                            
                       </ul>
                
                      
                   
             </div><!--tabs-->
         加载tabs页面的时候,他会默认加载第一个href,然后选项卡显示监督方案页面,我选第二个选项卡里面就是第二个href连接的页面,对最里面的页面进行操作过以后,要返回tabs这个页面,所有我返回的是最开始的操作action,然后又重新加载tabs,这样是不是存在每次tabs都会默认加载第一个选项卡,而不是我上次操作的选项卡
      

  15.   

    没看明白,href指向的页面都是通过ajax加载的,不会刷新页面,tab的焦点不会更改。对tab的内容进行操作也不会更换tab焦点啊。。难道有表单提交操作?
      

  16.   

    嗯,tabs里面加载的页面,做操作有新增,删除,修改,用ajaxForm提交表单的,成功后,返回当前选项卡,就是返回的时候就把tabs刷没了,
      

  17.   

    ajaxForm应该是无刷新的,不应该刷新页面,不是是新增后刷新过页面了,tab都不见了。。?
      

  18.   


       function save() {
        var subjectname = "@ViewBag.subjectName";
        var address ="@ViewBag.subjectAddress";
        var subjectIDX = "@ViewBag.Subject.IDX";
        var projectID = '@ViewBag.projectID';
        $("#form").ajaxForm({
        beforeSubmit: function () {    },
        dataType: 'json',
        success: function (json) {
        if (json.status == "0") {
        alert(json.msg);
        location.href = "/SupervisionScheme/ShowSubjectPage?subjectName=" + subjectname + "&subjectAddress=" + address + "&projectID=" + projectID;
        } else {
        alert(json.msg);
        }
        }
        });    }提交成功后,返回当前的选项卡页面,刷了一下,然后tabs就没了,版主这里如何处理呢?
      

  19.   

    location.href = "/SupervisionScheme/ShowSubjectPage?subjectName=" + subjectname + "&subjectAddress=" + address + "&projectID=" + projectID;描红页面是tabs放置的页面??你应该跳转到放置tab的那个页面去。。然后多增加一个参数指定从哪个tab返回的,这样在tab页面就可以获取这个参数,然后设置对应的tab获取焦点location.href = "/SupervisionScheme/ShowSubjectPage?subjectName=" + subjectname + "&subjectAddress=" + address + "&projectID=" + projectID+'&tabid=2';
      

  20.   

    嗯,是tabs放置的页面,用tabid传回到tabs放置的页面,对它进行判断,然后再去跳转返回tabid的页面,是这样吗?
      

  21.   

    你应该跳转错页面了吧。。要不tabs怎么会不见。。
      

  22.   

    嗯,我跳转到选项卡的页面了,现在我跳到tabs页面,把tabid传回来了,  var tabid = '@ViewBag.tabid';          alert(tabid);
              $(function () {
                  $("#tabs").tabs(          { beforeLoad: function (event, ui) {
                  ui.jqXHR.error(function () {
                      ui.panel.html("加载错误 ");
                  });
              }          });      if (tabid == 2) {
                  alert(0)
            window.location.href = "/FirstOver/ToShowFirstOver?subjectName=" + subjectname + "&subjectAddress=" + address + "&projectID=" + projectID;
                  
                  }          });这样不行,还是第一个选项卡,不知道为什么没跳转到第二个选项卡
      

  23.   


          if (tabid == 2) {
              $("#tabs").tabs("option", "active", 1);
         
                  }          });
    这样可以了,谢谢版主,麻烦你一天了
      

  24.   

     window.location.href = "/FirstOver/ToShowFirstOver?subjectName=" + subjectname + "&subjectAddress=" + address + "&projectID=" + projectID+'&tabid='+tabid;
    你要将tabid传递到显示tabs的页面,然后显示tabs页面获取这个参数,在生成tabs的时候设置激活那个tab
    ToShowFirstOver var tabid = '@ViewBag.tabid';
    $("#tabs").tabs(          {active:tabid, beforeLoad: function (event, ui) {
                  ui.jqXHR.error(function () {
                      ui.panel.html("加载错误 ");
                  });
              }          });