2016-06-07 4 views
0

У меня есть следующий фрагмент кода начальной загрузки после нажатия TabKey в TextBox (ID = «txtMainCat»), который равен TabIndex = 101, я хочу открыть другую вкладку, которая равна TabIndex = 102, в настоящее время она не работает «т,перейдите к следующей вкладке с помощью tabindex в bootstrap

<div class="bs-example"> 
    <ul class="nav nav-tabs" id="myTab" > 
     <li tabindex="100" class="active"><a href="#BasicItemDetails" data-toggle="tab">Main Details</a></li> 
     <li tabindex="102"><a href="#AssignItem" data-toggle="tab">Company Rules</a></li> 
    </ul> 
</div> 

<div class="tab-content"> 
    <div class="tab-pane active" id="BasicItemDetails"> 
     <asp:TextBox ID="txtMainCat" TabIndex="101"> 
     </asp:TextBox> 
    </div> 
    <div class="tab-pane" id="AssignItem"> 
     <asp:TextBox ID="txtMainCat2" TabIndex="103"> 
     </asp:TextBox>       
    </div> 
</div> 

усталым со следующими, кажется, что один также не работает

$('#myTab a').click(function (e) { 
    e.preventDefault(); 
    $(this).tab('show'); 
}); 

// store the currently selected tab in the hash value 
$("ul.nav-tabs > li > a").on("shown.bs.tab", function (e) { 
    var id = $(e.target).attr("href").substr(1); 
    window.location.hash = id; 
}); 

// on load of the page: switch to the currently selected tab 
var hash = window.location.hash; 
$('#myTab a[href="' + hash + '"]').tab('show'); 

ответ

0

Я надеюсь, я правильно понимаю ваш вопрос. В моем случае у меня была панель вкладок с двумя вкладками в бутстрапе, и я хотел иметь возможность использовать клавиши вкладок и клавиши shift + tab для изменения фокуса полей ввода. Это не работает с вкладкой bootrstap панелью, к сожалению, так что поэтому я сделал этот код:

function initTabSwitches() 
{ 
    $(".tabSwitchOnTab").keydown(function (e) { 
     if (e.keyCode == 9) { //tab 
      if (!e.shiftKey) { 
       if ($(this).attr("tabindex")) { 
        var newTabindex = parseInt($(this).attr("tabindex")) + 1; 

        focusOnInputInOtherTab(newTabindex, e); 
       } 
      } 
      else //shift + tab 
      { 
       if ($(this).attr("tabindex")) { 
        var newTabindex = parseInt($(this).attr("tabindex")) - 1; 

        focusOnInputInOtherTab(newTabindex, e); 
       } 
      } 
     } 
    }); 
} 

function focusOnInputInOtherTab(tabindex, e) { 
    var newInputToFocus = $("[tabindex=" + tabindex + "]"); 

    var parentTab = newInputToFocus.closest(".tab-pane"); 

    if (!parentTab.hasClass("active")) { 
     $(".tab-pane").removeClass("active"); 
     $("[id^=Tab_]").parents().removeClass("active"); 

     parentTab.addClass("active").addClass("fade").addClass("in"); 
     $("#Tab_" + parentTab.attr("id")).parent().addClass("active"); 
     newInputToFocus.focus(); 
     e.preventDefault(); 
    } 
} 

Просто добавьте класс tabSwitchOnTab до последнего элемента ввода закладки первой и первого элемента второй вкладки. Убедитесь, что ваши tabindexes верны.

 Смежные вопросы

  • Нет связанных вопросов^_^