Вкладки пользовательского интерфейса jQuery: несоответствующий идентификатор фрагмента - PullRequest
1 голос
/ 28 декабря 2010

Я пытаюсь создать планировщик встреч, используя jQuery (UI), Haml и Rails. Я делаю набор вкладок на следующие 4 недели.

#schedule
  %ul
    - @schedule.each_index do |i|
      %li
        %a{:href => "#schedule-#{i}"} #{@schedule[i][:week_range]}
  - @schedule.each_index do |i|
    %div{:id => "#schedule-#{i}"}
      %p test

В идеале это создаст набор вкладок, таких как (27 декабря - N января) в качестве заголовка вкладки, а затем в каждом поле будет "test".

В application.js у меня есть:

$('#schedule').tabs();

Однако, это не отображается должным образом, и когда я нажимаю на вкладку, это дает мне эту ошибку в консоли javascript:

jQuery UI Tabs: Mismatching fragment identifier.

Я использую последние выпуски jQuery и jQuery UI.

Может кто-нибудь сказать мне, что я делаю не так?

Вот как выглядит соответствующий HTML-код:

<div id='schedule'>
    <ul>
        <li>
            <a href='#schedule-0'> December 27 - January 2</a>
        </li>
        <li>
            <a href='#schedule-1'> January 3 - January 9</a>
        </li>
        <li>
            <a href='#schedule-2'> January 10 - January 16</a>
        </li>
        <li>
            <a href='#schedule-3'> January 17 - January 23</a>
        </li>
    </ul>
    <div id='#schedule-0'>
        <p>test</p>
    </div>
    <div id='#schedule-1'>
        <p>test</p>
    </div>
    <div id='#schedule-2'>
        <p>test</p>
    </div>
    <div id='#schedule-3'>
        <p>test</p>
    </div>
</div>

1 Ответ

5 голосов
/ 28 декабря 2010

Ваши id s не должны содержать # в сгенерированном HTML.Изменить %div{:id => "#schedule-#{i}"} на %div{:id => "schedule-#{i}"}

...