gpt4 book ai didi

php - 无法从 jQuery DataTables 内触发模式

转载 作者:行者123 更新时间:2023-12-01 08:35:51 24 4
gpt4 key购买 nike

我的页面的结束正文标记之前有一个通用模式。我使用 Javascript 在单击按钮时显示模式,将按钮内嵌入的数据属性值传递给模式标题、正文和页脚。这使得模态动态化。它工作得很好,但是,当我在 jQuery DataTable 中添加触发按钮时,它无法触发模式。

这是我的模式:

<div class="modal fade" id="modal_confirm_action" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<div class="pull-right m-l-15">
<button class="btn btn-danger btn-sm modal_close_btn" data-dismiss="modal" class="close" title="Close"> &times;</button>
</div>
</div><!--/.modal-header-->
<div class="modal-body">
<!--render data via JS-->
</div>
<div class="modal-footer">
<a class="btn btn-sm btn-danger" role="button" id="action_url"> Yes, Continue </a>
<button data-dismiss="modal" class="btn btn-sm btn-secondary"> No, Cancel </button>
</div>
</div>
</div>
</div>

这是触发它的按钮:

<a class="btn btn-sm btn-danger text-white modal_trigger_confirm_action" data-title="Delete Post" data-msg="Sure to delete?" data-url="'.base_url('posts/delete_post/'.$id).'">Delete</a>

注意:我正在使用 DataTables(和 CodeIgniter)进行服务器端处理,因此上面的按钮位于我的 Controller 方法内,并呈现在一列中,如下所示:

...
$row[] = '<a class="btn btn-sm btn-danger text-white modal_trigger_confirm_action" data-title="Delete Post" data-msg="Sure to delete?" data-url="'.base_url('posts/delete_post/'.$post_id).'">Delete</a>';
...

这是打开模式的 JavaScript:

$('.modal_trigger_confirm_action').click(function() {
//get data value params
var title = $(this).data('title');
var msg = $(this).data('msg');
var url = $(this).data('url');
$('#modal_confirm_action .modal-title').text(title); //dynamic title
$('#modal_confirm_action .modal-body').html(msg); //dynamic body content
$('#modal_confirm_action .modal-footer #action_url').attr('href', url); //url to delete item
$('#modal_confirm_action').modal('show'); //show the modal
});

单击每行中的“删除”按钮不会执行任何操作。我做错了什么?

最佳答案

因为该按钮是动态生成的,并且在第一次加载时不是 DOM 的一部分,因此您需要触发单击该动态生成的按钮,如下所示。

$(document).on( "click",".modal_trigger_confirm_action", function() { //logic here });

关于php - 无法从 jQuery DataTables 内触发模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55896947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com