【问题标题】:Ruby on Rails bootstrap modalRuby on Rails 引导模式
【发布时间】:2015-07-18 05:20:54
【问题描述】:

我正在尝试将引导模式与 ajax 一起使用,问题是当我单击屏幕变暗但模式从不显示时。 有什么帮助或有更好的方法吗?

测量/index.html.erb

 <%= link_to 'Show', measure,remote: true, class: 'static-popup-link'%>
 <div class="modal hide fade" id="myModal" tabindex="-1" role="dialog" data-backdrop="static" data-keyboard="false">Loading...</div>

应用程序.js

$(document).ready(function() {

  var clickOnPopupLink = function(){
      $('body').on('click', '.static-popup-link', function(){
      $('#myModal').modal('show');
   });
  }

  clickOnPopupLink();

});

measures_controllers.rb

def show
end

show.js.erb

$('#myModal').html("<%= j render('/measures/modal')%>");

measures/modal.html.erb

<div class="modal-dialog">
  <div class="modal-content">

    <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;          </button>
      <h4 class="modal-title" id="myModalLabel"></h4>
    </div>
    <div class="modal-body">
       .........
    </div>
    <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
     <button type="button" class="btn btn-primary">Save changes</button>
    </div>

 </div>
</div>

【问题讨论】:

  • 尝试$("#myModal").show(); 而不是$('#myModal').modal('show');
  • jQuery 是否小于 3?他们在上一个版本中更改了 show 的行为。
  • 它不起作用,无论如何谢谢。
  • 好吧试试这个$(".static-popup-link").click(function()而不是$('body').on('click', '.static-popup-link', function()
  • 也不行,我用 $("#myModal").show();还是不行。

标签: javascript jquery ruby-on-rails ruby twitter-bootstrap


【解决方案1】:

从下面提到的 div 中删除隐藏类将达到您的目的

<div class="modal hide fade" id="myModal" tabindex="-1" role="dialog" data-backdrop="static" data-keyboard="false">Loading...</div>

【讨论】:

  • 将 modal.html.erb 设为部分并使用 render('partial_name')
  • 这行得通吗?是否建议删除此处出现的“隐藏”:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 1970-01-01
  • 2018-05-09
相关资源
最近更新 更多