1

我正在使用 twitter bootstrap 打开模式窗口而不使用 JavaScript:

在我的 www.domain.com/item/1 我有

<a data-toggle="modal" class="btn btn-custom" data-target="#myModal" >Add to list</a>

这会触发以下模式:

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
              <h3 id="myModalLabel">Add to list</h3>
            </div>
            <div class="modal-body">
              <table>
<% @my_lists.each do |list| %>
    <tr>
      <td><%= list.name %></td>
      <td>
          <% if Listing.exists?(:item_id => @item.id, :list_id => list.id) %>
                <i class="icon-check"></i>  
          <% else %>
              <%= link_to listing_list_path(:item =>@item.id, :list=> list.id) do %>
                    <i class="icon-check-empty"></i>    
              <% end %>
          <% end %>
        </td>
       </tr>
    <% end %>
</table>
            </div>
            </div>

在我的控制器中:

def listing
  @item = Item.find(params[:item])
  @list = List.find(params[:list])
  @list.add_item(@item)
  redirect_to [:back]
end

当我单击列出该项目时,它会正确列出,但页面会返回

www.domain.com/item/1

模式窗口关闭。我希望它保持模式打开。我试过重定向到 www.domain.com/item/1#myModal 但这不起作用。

我正在使用启用了 Turbolinks 的 rails4。

谢谢

4

1 回答 1

0

这可能是因为您没有阻止锚标记上的默认行为。

尝试添加此 JavaScript 以查看它是否有效

$('a[data-toggle=modal]').click (e) -> e.preventDefault()
于 2013-03-13T22:15:58.353 回答