jQuery UI选项卡:不匹配的片段标识符

时间:2010-12-28 03:58:33

标签: jquery ruby-on-rails jquery-ui haml

我正在尝试使用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

理想情况下,这会创建一组标签,例如(12月27日 - 1月N日)作为标签标题,然后在每个框中都有“测试”。

在applications.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 个答案:

答案 0 :(得分:5)

您的id在生成的HTML中不应包含#。将%div{:id => "#schedule-#{i}"}更改为%div{:id => "schedule-#{i}"}