如何使用控制器显示模态?点火枪

时间:2018-07-09 02:26:30

标签: php codeigniter

这是我的代码

视图

<div class="modal fade"id="myModal2" role="dialog">
<div class="modal-dialog">

  <!-- Modal content-->
  <div class="modal-content">
    <div class="modal-header">

     <h4 class="modal-title">Declare New Property?</h4>
    </div>
    <div class="modal-body Content">

    </div>
    <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">Yes</button>
      <button type="button" class="btn btn-default" data-dismiss="modal">No</button>
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </div>
  </div>

</div>

我要创建控制器,因为我的侧边栏在控制器中具有默认的href。

1 个答案:

答案 0 :(得分:1)

您不能通过Codeigniter的控制器“调用” /启动myModal2。 CI中的Controller只是以可以与URI关联的方式命名的类,其每个方法都指向页面的入口点。单击“ href”会将您的浏览器重定向到URI,但不会,也不会像您期望的那样触发模式。

您将需要javascript / jQuery来启动模式。我假设上面的HTML和菜单HTML存储在 Codeigniter视图文件中,由控制器加载,并且您正在使用 Bootstrap Modal 。以下是在jQuery中触发模式的两种方法(请记住要加载jQuery)。

#1单击链接(show_modal)以启动模态

<!-- assuming the link html in menu, the same link you wrote to redirect users to the controller method-->
<a id='the-link-id'>Fire Modal</a>    

<!-- jQuery code to fire modal-->
$(function(){
   $(document).on(".click","#the-link-id",function(e){
     e.preventDefault();
     $("#myModal2").modal('toggle');
   });
})

#2将用户重定向到控制器方法(show_mdal),该方法将加载包含模式的视图文件并在加载视图时将其触发。

<!-- jQuery code to fire modal when the view file is loaded-->
$(function(){
   $(document).ready(function(){
     $("#myModal2").modal('toggle');
   });
})

恕我直言,第二种方式似乎很像你想要的;但是从UX角度来看很奇怪。

我希望这会有所帮助。