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

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

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

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

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>

我怎样才能做到这一点 ?

谢谢,

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

最佳答案

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

function selectTab(jLikeToSet){
    $("#tabs").tabs( "select" , jLikeToSet);
}

这个函数执行的时候,就好像你手动选择了一样,那么.bind('tabsselect'里面的东西就会被执行。

关于jQuery 使用代码执行模拟单击选项卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5505553/

10-12 12:53
查看更多