Struts 2 Jquery选项卡导航

时间:2013-12-30 07:52:10

标签: jquery jsp struts2-jquery struts2-jquery-plugin

当从一个选项卡导航到另一个选项卡时,即,在单击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");

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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

<sj:head jqueryui="true" />

用于同意主题的脚本

<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>