我正在尝试使用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>
答案 0 :(得分:5)
您的id
在生成的HTML中不应包含#
。将%div{:id => "#schedule-#{i}"}
更改为%div{:id => "schedule-#{i}"}