gpt4 book ai didi

javascript - 动态创建的模态不起作用

转载 作者:行者123 更新时间:2023-11-30 11:40:07 25 4
gpt4 key购买 nike

我有一个表单,其中使用 add more 创建了下一个字段和链接。第一行完美显示模态窗口,但动态创建的链接不显示模态。动态行创建如下:

$row += '<tr>';

$row += '<td width="20%">';
$row += '<a href="javascript:void(0)" id="showModal'+sl_no+'"> Add Documents/Req. </a>';
$row += '</td>';

$row += '<div class="modal fade" id="modal'+sl_no+'" tabindex="-1" role="dialog">';
$row += '<div class="modal-dialog" role="document">';
$row += '<div class="modal-content">';
$row += '<div class="modal-header">';
$row += '<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
$row += '<h4 class="modal-title">Modal title</h4>';
$row += '</div>';
$row += '<div class="modal-body">';
$row += '<p>One fine body&hellip;</p>';
$row += '</div>';
$row += '<div class="modal-footer">';
$row += '<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>';
$row += '<button type="button" class="btn btn-primary">Save changes</button>';
$row += '</div>';
$row += '</div>';
$row += '</div>';
$row += '</div>';

这是放置的:

$last_tr = $('#indent_item_list tr:last');
$last_tr.after($new_row);

$('#showModal'+sl_no).on('click', function() { alert('fff');
$('#modal'+sl_no).modal('show');
});

但是当我点击 Add Documents/Req 时,它没有显示模态!如何解决这个问题?

FIDDLE HERE

最佳答案

代码中的几个问题:

1) 您正在尝试将 div 附加到表格元素内。这是行不通的。您需要在 td 中附加 div 元素,或者有一个单独的模态容器。

2) 此外,您不需要在附加后在每一行上附加点击事件。您需要使用静态父元素进行事件委托(delegate)。在当前情况下是表元素。与 start with 属性一起定位所有以 id showModal 开头的行元素:

$('#indent_item_list').on('click','[id^=showModal]', function() {
$('#modal'+this.id.replace('showModal','')).modal('show');
});

Working Demo

关于javascript - 动态创建的模态不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43039561/

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