7

我想在 Rails 应用程序上使用 Twitter 的 Bootstrap 中的Togglable Tabs,但我无法让它工作。

这是我的app/views/pages/home.html.erb

<ul class="nav nav-tabs" id="dashboard_products">
  <li class="active"><a href="#owned_products"> 1 </a></li>
  <li><a href="#borrowed_products"> 2 </a></li>
  <li><a href="#given_products" > 3 </a></li>
  <li><a href="#requested_products"> 4 </a></li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="owned_products"> 1 </div>
  <div class="tab-pane" id="borrowed_products" > 2 </div>
  <div class="tab-pane" id="given_products" > 3 </div>
  <div class="tab-pane" id="requested_products" > 4 </div>
</div>

这是我的app/assets/javascripts/pages.js.coffee

$ ->
  $('#dashboard_products a').click = (e) ->
    e.preventDefault() 
    $(this).tab('show')

这里是我的app/assets/javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree .

我在哪里失败了?

4

3 回答 3

12

您缺少data-toggle标签。

这是一个例子:

<div class="container-fluid">
    <div class="row-fluid">
        <div class="span8 well">
            <ul class="nav nav-tabs">
                <li class="active"> <a href="#home" data-target="#home" data-toggle="tab">Home</a>

                </li>
                <li><a href="#profile" data-target="#profile" data-toggle="tab">Profile</a>

                </li>
            </ul>
            <div class="tab-content">
                <div class="tab-pane active fade in" id="home">home tab content</div>
                <div class="tab-pane" id="profile">profile tab content</div>
            </div>
        </div>
    </div>
</div>

演示

于 2013-06-13T20:27:01.763 回答
1

检查您是否包含了 bootstrap js ...并在包含 bootstrap js 后检查您是否包含了咖啡脚本文件。并且咖啡脚本包含也必须在您的 html 之后。因为 dom 必须在 init tabs 之前创建元素..

于 2013-06-13T18:22:20.470 回答
0

这里的例子

http://getbootstrap.com/javascript/#tabs

没有数据目标属性。

<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab" data-target="home">Home</a></li>

但是当我添加它时

<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>

这一切都奏效了。

于 2016-04-28T15:27:12.083 回答