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


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

最佳答案

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

关于java - Struts2 jQuery TabbedPanel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18719659/

10-12 02:32