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);
            });

オブジェクトが以下のコード行のこのプロパティまたはメソッドをサポートしていないため、開発者ツールでエラーが発生するなどの問題にまだ直面しています。

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

2 に答える 2

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>
于 2014-01-21T19:05:46.553 に答える