jQuery模拟单击选项卡执行代码

Kri*_*s-I 3 ajax jquery

下面的代码,当我单击选项卡时,我会发布一个帖子并在选项卡中显示结果.在某些情况下,我想强制选中选项卡,但不仅要选择选项卡,还要选择选项卡+执行单击时执行的代码.

在我的例子中,我喜欢选择第二个选项卡(jLikeToSet = 1)并执行代码:

$.post('/Home/e2', function (data) {
        $('#tabs-2').html(data);
});
Run Code Online (Sandbox Code Playgroud)

jQuery:

    var $tabs = $("#tabs").tabs();
    var jLikeToSet = 1
    $("#tabs").bind('tabsselect', function (event, ui) {
        switch (ui.index) {
            case 0:
                $.post('/Home/e1', function (data) {
                    $('#tabs-1').html(data);
                });
                break;
            case 1:
                $.post('/Home/e2', function (data) {
                    $('#tabs-2').html(data);
                });
                break;
            case 2:
                $.post('/Home/e3', function (data) {
                    $('#tabs-3').html(data);
                });
                break;
        }
    });
Run Code Online (Sandbox Code Playgroud)

HTML:

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Screen 1</a></li>
        <li><a href="#tabs-2">Screen 2</a></li>
        <li><a href="#tabs-3">Screen 3</a></li>
    </ul>
    <div id="tabs-1"></div>
    <div id="tabs-2"></div>
    <div id="tabs-3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?

谢谢,

Update1:​​我尝试使用这段代码: $('#tabs').tabsClick(1);但没有工作,样本来自这里 http://www.eduteka.org/ajax/tabs3/

man*_*nji 6

要以编程方式选择选项卡,请使用jLikeToSetarg 调用此函数:

function selectTab(jLikeToSet){
    $("#tabs").tabs( "select" , jLikeToSet);
}
Run Code Online (Sandbox Code Playgroud)

当执行此功能时,就像您已手动选择一样,因此.bind('tabsselect'将执行内部操作.

  • 从jQuery UI 1.8开始,"select"选项已被弃用,并在1.9中删除.使用"active"代替如下:`$("#tabs").tabs("option","active",tabIndex);` (2认同)