如何解决每次打开时重复出现的模态数
我有一个模式,可以在其中加载表格。但是,每次我单击按钮打开模态时,它都会复制以前的模态数。它以1、2、4、8、16等开头。
这是我的代码:
$('#createButton').click(function () {
var url = $('#createModal').data('url');
$.get(url,function (data) {
$('#modalContent').html(data);
$('#createModal').modal('show');
});
});
<div id="createModal" class="modal fade" role="dialog" data-url='@Url.Action("Create")'>
<div class="modal-dialog" id="dialog">
<div class="modal-content" id="modalContent">
</div>
</div>
</div>
非常感谢您的帮助!
编辑: 即使页面具有不同的ID,我在同一个页面中也有另一个模式。如果我评论其中之一,仍然会遇到同样的问题。
<div id="editModal" class="modal fade" role="dialog">
<div class="modal-dialog" id="dialogEdit">
<div class="modal-content" id="modalContentEdit">
</div>
</div>
</div>
$(document).ready(function () {
$(".menuActionsLink").click(function () {
var url = $(this).data('url');
$.get(url,function (data) {
$('#modalContentEdit').html(data);
$('#editModal').modal('show');
});
});
});
解决方法
这应该可行,我想您可能是其中一个ID的重复项,也许在代码中两次提到了id =“ createModal”。孤立地看,此代码可以正常工作,这表明还有其他问题。如果您确实很挣扎,则可以通过执行以下操作来检查该元素是否已存在,从而检查该元素是否不存在。
我认为createModal尚未包含在modalContent中。在这种情况下,您可以检查长度是否小于1。如果已经存在,则应该检查is(':visible')
。
$('#createButton').click(function () {
var url = $('#createModal').data('url');
$.get(url,function (data) {
if($('#modalContent #createModal').length <= 1) {
$('#modalContent').html(data);
$('#createModal').modal('show');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="createButton">
Click me
</div>
,
编辑且重要:如果我们将Javascript保留在视图中,则效果很好!!但是,当我们希望将javascript放在javascript文件中,以便我们可以从所有视图调用相同的函数时,就会发生该错误!!!谁知道为什么??? 这也意味着它与重复代码无关!
解决方案:
请勿在javascript文件中单击时调用该函数!!!
function tentativa1() {
var url = $('#asd').data('url');
$.get(url,function (data) {
$('#asd1').html(data);
$('#asd').modal('show');
});
};
使用如上所示的普通函数,然后在HTML中执行单击部分...
<button id="criarRegisto" onclick="tentativa1()">+ Create New Area</button>
对此我是陌生的,我不明白为什么会发生这种行为,但是这种方式可以很好地工作!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。