jquery 表示的切换窗体选项卡< li>

t98cgbkg  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(112)

我使用块显示列表项制作了一些表单选项卡。然后我还有下一个和上一个按钮,$('#wiznext')$('#wizprev')。每当单击Next时,选项卡列表中的下一个列表元素就会被选中,并执行相应的操作。
HTML是这样的:

<ul id='tabs'>
<li> Tab 1 </li>
<li> Tab 2 </li>
...

jQuery是这样的:

$('#wizprev').click(function(){
   switchTab($current.prev('li').attr('id'));
 }

但我想提出一个条件,即。如果没有上一个列表项,则不要切换选项卡。因此,如果用户已经在Tab 1上,那么点击previous不应该做任何事情。
我在做这个:我尝试了这个条件,但它并没有什么不同:

if($current.prev('li').length>0)
            switchTab($current.prev('li').attr('id'));

怎么做才是正确的?

brvekthn

brvekthn1#

保留某种计数变量,当用户单击“上一个”或“下一个”时,该变量将递增或递减。就像这样:

var tabCounter = 1;
$('#wizprev').click(function(){
    if(tabCounter > 1) {
        tabCounter--;
        switchTab($current.prev('li').attr('id'));
    }
}

$('#wiznext').click(function() {
    if(tabCounter < $('#current li').length) {
        tabCounter++;
        switchTab($current.next('li').attr('id'));
    }
});

类似于这样,跟踪标签号,如果用户已经在第一个标签上,则不做任何事情。然后在转到下一个选项卡时检查它不是最后一个选项卡

uurity8g

uurity8g2#

如果检查是否有下一个,请使用

var next = $('#your-selector').next().length;

if(next == 0)
{ 
    return false;
} else {
    // do stuff
}

如果检查是否有上一项,请使用

var prev = $('#your-selector').prev().length;

if(prev == 0)
{ 
    return false;
} else {
    // do stuff
}

相关问题