2016-09-13 64 views
0

你好,我希望你能帮我解决我现在遇到的问题。Boostrap Modal不起作用

我想使用模态按下按钮时执行的JS代码,问题是,谁拥有该按钮的HTML代码生成自身

主视图页面

<tr class="odd"> 
<td class=" sorting_1">CU</td> 
<td class="">Cliente Unico</td><td class="">101</td> 
<td class=""> 
<span id="edit_CU" class="ui-icon ui-icon-pencil" data-toggle="modal" data-target="#modal_edit"></span> 
<span id="delete_CU" class="ui-icon ui-icon-trash" data-toggle="modal" data-target="#modal_delete"></span> 
</td> 
</tr> 

在id =“edit_CU”当HTML代码生成时CU发生变化,所以并不总是相同的那样,即使用id =“delete_CU”

当您点击span图标时将触发模式并显示:

查看网页时,点击编辑或删除按钮

<div id="modal_delete" class="modal fade"> 
    <div class="modal-dialog modal-sm"> 
     <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">Delete vertical</h4> 
      </div> 
      <div class="modal-body"> 
       <p>Are you sure you want to delete?</p>     
      </div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">No</button> 
       <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal_delete">Yes</button> 
      </div> 
     </div> 
    </div> 
</div> 

<script type="text/javascript" src="<?php echo base_url('assets/js/helper/func_verticales.js');?>"></script> 

在这个视图页面询问用户是否要删除自己的信息,当他们点击“是”,应该弹出一个消息......但它确实没什么,有人可以帮我一把吗?

这是JavaScript

$("#modal_delete").on('show.bs.modal', function(event){ 
    alert("hello"); 
    }); 
}); 
+0

页面后负载,在隐藏模式下是模态的? –

回答

0

如果我正确比理解你你必须委派点击事件 尝试这样的事情:

你的按钮需要一些适应 - 因为我没有看到数据切换和数据目标

<button type="button" class="btn btn-primary">Yes</button> 

之后是有原因的 - 在你的JS代码:

$("button.btn-primary").on("click","#modal_delete",function() 
{ 
    alert("hello"); 
}); 
+0

现在有效,非常感谢! –

0

运行的是提醒了你的按钮,而不是模式

<button id="modal_delete">Yes</button> 

$("#modal_delete").on('click', function(event){ 
    alert("hello"); 
    }); 
}); 

,或者使用一个确认框

$('#modal_delete').click(function(ev){ 
     ev.preventDefault(); 
     var r = confirm("Are you sure?"); 
     if (r == true) { 
      //run delete code here 
     } 
    }); 
+0

试过并且没有弹出警告消息。 –