タブパネルに struts2-jquery プラグインを使用しています。以下のコードをチェックしてください
<table width="98%" border="0" cellpadding="2" cellspacing="0">
<tr>
<td>
<s:select list="appList" id="appList" name="selectedApp"
headerKey="-1" onchange="getApplicationValue(this);"/>
</td>
</tr>
<tr>
<td>
<s:url var="urlVar" value="actionValue">
<s:param name="calledAction">actionName</s:param>
</s:url>
<sj:tabbedpanel id="remotetabs" selectedTab="0" cssStyle="width:100%">
<sj:tab id="pendingTab" href="%{urlVal}" key="key" target="div1"
loadingText="Loading..." indicator="indicator">
<sj:div id="pendingDiv" indicator="indicator" >
</sj:div>
</sj:tab>
</td>
</tr>
</table>
<script language="javascript">
var selectedTab;
$( document ).ready(function() {
$('#remotetabs').tabs({
select:function(event,ui) { //bind click event to link
selectedTab=ui.index;
}
});
});
function getApplicationValue(){
$( "#remotetabs" ).tabs( "load", selectedTab);
}
</script>
私の要件は
- URLを呼び出す各タブ、データベース操作を実行し、そのタブにデータを表示します
- タブパネルの上のコンボボックスの値を変更すると、現在選択されているタブが起動し、現在選択されている値の値がコンボボックスに渡されます
- コンボボックスを変更すると、現在選択されているタブにデータが表示されます
問題: req1 と req3 は正常に動作していますが、req2 では、現在のページが既に読み込まれているため、選択したコンボボックスの値をアクション クラスに渡すことができません。タブ パネルを変更しても、クラス変数がアクション クラスにバインドされません。コンボボックスの値をアクションクラスに渡す方法を理解するのを手伝ってください(ページ全体をロードしたりタブを変更したりせずに)
これは次のようになります: http://jsfiddle.net/rohanparekh/ZvtRM/3/