【问题标题】:jQueryUI tabs disable method not working: disables all tabs when it should notjQueryUI 选项卡禁用方法不起作用:在不应该禁用所有选项卡时
【发布时间】:2015-06-04 19:34:36
【问题描述】:

当我调用 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>

为什么禁用标签二(索引 1)?

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-tabs


    【解决方案1】:

    问题是数组中有一个额外的索引。我删除了一个选项卡,但没有从数组中删除索引 (5)。不过,这种行为似乎很奇怪,甚至可能是错误的。我希望它只是忽略额外的索引或发出警告或错误。

    这个:

    $('#tabs').tabs('option', 'disabled', [0,2,3,4,5]);
    

    应该是这样的:

    $('#tabs').tabs('option', 'disabled', [0,2,3,4]);
    

    这是一个演示问题的 jsfiddle:http://jsfiddle.net/spencerw/hmno6ekb/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-29
      • 2012-07-31
      • 1970-01-01
      • 2015-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      相关资源
      最近更新 更多