Jquery 切换由<;表示的表单选项卡;李>;
我使用块显示列表项制作了一些表单选项卡。 然后我还有下一个和上一个按钮,Jquery 切换由<;表示的表单选项卡;李>;,jquery,iterator,next,Jquery,Iterator,Next,我使用块显示列表项制作了一些表单选项卡。 然后我还有下一个和上一个按钮,$('wiznext')和$('wizprev')。 每当单击“下一步”时,都会选择选项卡列表中的下一个列表元素,并完成相应的操作 HTML是这样的: <ul id='tabs'> <li> Tab 1 </li> <li> Tab 2 </li> ... $('#wizprev').click(function(){ switchTab($current.
$('wiznext')
和$('wizprev')
。
每当单击“下一步”时,都会选择选项卡列表中的下一个列表元素,并完成相应的操作
HTML是这样的:
<ul id='tabs'>
<li> Tab 1 </li>
<li> Tab 2 </li>
...
$('#wizprev').click(function(){
switchTab($current.prev('li').attr('id'));
}
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'));
}
});
但是,我想提出一个条件,即如果没有以前的列表项,则不要切换选项卡。因此,如果用户已经在选项卡1上,那么点击previous
不应该做任何事情
我正在这样做:
我尝试过这种情况,但没有什么不同:
if($current.prev('li').length>0)
switchTab($current.prev('li').attr('id'));
正确的方法是什么?如果您检查下一步是否有,请使用
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
}
保留某种计数变量,它会随着用户单击“上一步”或“下一步”而递增或递减。大概是这样的:
<ul id='tabs'>
<li> Tab 1 </li>
<li> Tab 2 </li>
...
$('#wizprev').click(function(){
switchTab($current.prev('li').attr('id'));
}
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'));
}
});
var tabCounter=1;
$('#wizprev')。单击(函数(){
如果(选项卡计数器>1){
tabCounter--;
开关选项卡($current.prev('li').attr('id'));
}
}
$('#wiznext')。单击(函数(){
if(tabCounter<$('#当前li')。长度){
tabCounter++;
开关选项卡($current.next('li').attr('id'));
}
});
类似这样的情况,跟踪选项卡编号,如果用户已经在第一个选项卡上,则不要做任何事情。然后在转到下一个选项卡时检查它是否不是最后一个this
if($current.prev('li')。length>0)
应该起作用。检查返回的内容是否最终证明它起作用。