1

当从一个选项卡导航到另一个选项卡时,即单击 tab1(即 jsp)中的提交按钮时,必须加载 tab2。我的代码如下。

  <sj:tabbedpanel id="remotetabs" onCompleteTopics="tabcomplete"
    onChangeTopics="tabchange">
    <sj:tab id="tab1" href="test1.jsp" label="Tab One" />
    <sj:tab id="tab2" href="test2.jsp" label="Tab Two" />           
   </sj:tabbedpanel><sj:submit></sj:submit>

我用过的jsp是

 <s:url var="remoteurl1" action="ajax1" />
 <s:url var="remoteurl2" action="ajax2" />
 <sj:tabbedpanel id="tabpanel">
<sj:tab id="tab1" href="Test1.jsp" label="Tab One" />
<sj:tab id="tab2" href="Test2.jsp" label="Tab Two" />
 </sj:tabbedpanel>
 <sj:a href="#" onClickTopics="movetonextdiv" button="true">Next</sj:a>

我的脚本是

  $.subscribe('movetonextdiv', function(event, data) {
                   var selected = $("#tabpanel").tabs('option', 'selected');
                   $("#tabpanel").tabs('option', 'selected', selected + 1);
            });

我仍然面临一个问题,例如在开发人员工具中我收到错误,因为 Object 不支持以下代码行的此属性或方法。

  var selected = $("#tabpanel").tabs("option", "selected");
4

2 回答 2

0

干得好 :

<sj:a href="#" onClickTopics="movetonextdiv" button="true">Next</sj:a>


<script>
    $.subscribe('movetonextdiv', function(event, data) {
                    var selected = $("#tabpanel").tabs("option", "selected");
                    $("#tabpanel").tabs("option", "selected", selected + 1);
                });
</script>

<sj:tabbedpanel id="tabpanel" >...</sj:tabbedpanel>
于 2013-12-30T08:52:40.183 回答
0

首先,您应该将插件升级到至少 v3.6.1。放在$.subscribe设置主题以发布您订阅的标签之前。确保您启用了 jQuery UI。

<sj:head jqueryui="true" />

sibscribe 主题的脚本

<script type="text/javascript">
  $(document).ready(function(){
    $.subscribe('movetonextdiv', function(event, data) {
      var el = $("#localtabs");
      var size = el.find(">ul >li").size();
      var active = el.tabs('option', 'active');
      el.tabs('option', 'active', active + 1>=size?0:active + 1);
    });
  });
</script>

带有导航按钮的选项卡

<sj:a href="#" onClickTopics="movetonextdiv" button="true">Next</sj:a>
<br/>
<sj:tabbedpanel id="localtabs" cssClass="list">
  <sj:tab id="tab1" target="jsp" label="JSP Code"/>
  <sj:tab id="tab2" target="javascript" label="JavaScript"/>
  <sj:tab id="tab3" target="java" label="Java"/>
  <div id="jsp">
    JSP
  </div>
  <div id="javascript">
    JavaScript
  </div>
  <div id="java">
    Java
  </div>
</sj:tabbedpanel>
于 2014-01-21T19:05:46.553 回答