Struts2 jquery tabbedpanel

时间:2013-09-10 13:00:02

标签: java jquery jsp struts2 struts2-jquery

我在sj:tabbedpanel中有标签。我想知道哪个选项卡已激活,并相应地设置隐藏字段值的值。

<sj:tabbedpanel id="localtabs" >                
   <sj:tab id="connected" target="tone" label="Connected" />
    <sj:tab id="disconnected" target="ttwo" label="Not Connected"/>
    <sj:tab id="distribution" target="tthree" label="Distributed"/>
    <div id="tone">tone</div>
    <div id="ttwo">ttwo</div>
    <div id="tthree">tthree</div>    
</sj:tabbedpanel>

现在我想根据激活的标签0,1或2为标签音调,ttwo和tthree设置隐藏输入字段的值。

<input type="hidden" name="activeTab" value="0" id ="activeTab"/>

我试过

$("#connected").click(function(){
    alert("Connected");
    $("#activeTab").val(0);
});
$("#disconnected").click(function(){
    alert("Not Connected");
    $("#activeTab").val(1);
});
$("#distribution").click(function(){
    alert("distribution");
    $("#activeTab").val(3);
});

但它不起作用。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

订阅onchange主题

<sj:tabbedpanel id="localtabs" onChangeTopics="tabchange" >
    <sj:tab id="connected" target="tone" label="Connected" />
    <sj:tab id="disconnected" target="ttwo" label="Not Connected"/>
    <sj:tab id="distribution" target="tthree" label="Distributed"/>
    <div id="tone">tone</div>
    <div id="ttwo">ttwo</div>
    <div id="tthree">tthree</div>
</sj:tabbedpanel>

并处理事件

$.subscribe('tabchange', function(event, data) {
    var tab = event.originalEvent.ui.newTab.attr("id");
    if (tab === "connected") {
        $("#activeTab").val(0);
    } else if (tab === "disconnected") {
        $("#activeTab").val(1);
    } else if (tab === "distribution") {
        $("#activeTab").val(3);
    }
});