2015-11-13 5 views
2

Я получаю сообщение об ошибке после использования disable() на вкладках. После того, как используется Disable() всякий раз, когда я ударил одну из вкладок, которые я получаю:jQuery Mobile tabs disable(): Непринятая ошибка: вкладки пользовательского интерфейса jQuery: несоответствующий идентификатор фрагмента

Uncaught Error: jQuery UI Tabs: Mismatching fragment identifier.

на бревне (в Chromium). Однако никаких явных сбоев нет; вкладка работает как ожидалось.

Интересно, что я делаю что-то неправильно или это ошибка в jQuery Mobile.

См пример:

<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" 
    href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"> 
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 
<script 
    src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 

<script> 
$(document).ready(function() { 
    var disabledTabs = [ 1 ]; 
    $('#navbar').tabs({disabled: disabledTabs}); 
}); 
</script> 

</head> 
<body> 
    <div data-role="tabs" id="tabs"> 
     <div id="navbar" data-role="navbar"> 
      <ul> 
       <li><a href="#one" data-ajax="false">one</a></li> 
       <li><a href="#two" data-ajax="false">two</a></li> 
       <li><a href="#three" data-ajax="false">three</a></li> 
      </ul> 
     </div> 
     <div id="one" class="ui-body-d ui-content">First</div> 
     <div id="two" class="ui-body-d ui-content">Second</div> 
     <div id="three" class="ui-body-d ui-content">Third</div> 
    </div> 

</html> 
</body> 

Заранее спасибо

ответ

0

Ваши данные <div> должны быть внутри основного navbar DIV следующим образом:

<div id="navbar" data-role="navbar"> 
    <ul> 
     <li><a href="#one" data-ajax="false">one</a></li> 
     <li><a href="#two" data-ajax="false">two</a></li> 
     <li><a href="#three" data-ajax="false">three</a></li> 
    </ul> 
    <div id="one" class="ui-body-d ui-content">First</div> 
    <div id="two" class="ui-body-d ui-content">Second</div> 
    <div id="three" class="ui-body-d ui-content">Third</div> 
</div> 

Из-за этого вы получите такое исключение. Просто исправьте HTML, и код должен работать правильно.

+0

работы, большое спасибо! – BMX

+0

Добро пожаловать @BMX ... ':)'! – vijayP

1

Проблема заключается в том, что виджет вкладки связан с DIV id = "tabs", а не с навигационным div.

Таким образом, вместо

$('#navbar').tabs({disabled: disabledTabs}); 

изменить его

$('#tabs').tabs({disabled: disabledTabs}); 
+0

Работает тоже! Отлично, 2 решения в 45 '. И тебе спасибо. К сожалению, я слишком молод (Stackoverflow-мудрый), поэтому я не могу голосовать за ваши ответы. – BMX