当我调用disable方法时,所有jQueryUI选项卡都被禁用,包括我从索引数组中省略的那个(索引1)。这是一个示例:
<div id="tabs">
<ul>
<li><a href="#tabs1">one</a></li>
<li><a href="#tabs2">two</a></li>
<li><a href="#tabs3">three</a></li>
<li><a href="#tabs4">four</a></li>
<li><a href="#tabs5">five</a></li>
</ul>
<div id="tabs1" style="display: none;"><p>tab 1 content</p></div>
<div id="tabs2" style="display: none;"><p>tab 2 content</p></div>
<div id="tabs3" style="display: none;"><p>tab 3 content</p></div>
<div id="tabs4" style="display: none;"><p>tab 4 content</p></div>
<div id="tabs5" style="display: none;"><p>tab 5 content</p></div>
</div>
<script>
function disableAllExcept1(){
$('#tabs').tabs('option', 'disabled', [0,2,3,4,5]);
$('#tabs').tabs('option', 'active', 1);
}
$(function() {
$( "#tabs" ).tabs();
disableAllExcept1();
});
</script>
为什么禁用标签2(索引1)?
答案 0 :(得分:0)
问题是数组中的额外索引。我删除了一个标签,但没有从数组中删除索引(5)。这种行为看起来很奇怪,甚至可能是马车。我希望它只是忽略额外的索引或发出警告或错误。
此:
$('#tabs').tabs('option', 'disabled', [0,2,3,4,5]);
应该是这样的:
$('#tabs').tabs('option', 'disabled', [0,2,3,4]);
这是一个证明问题的jsfiddle:http://jsfiddle.net/spencerw/hmno6ekb/