【发布时间】:2017-06-06 17:59:59
【问题描述】:
我有通过按钮单击打开的模态窗口
这是视图中的代码:
<button style="margin-bottom: 20px;" class="btn btn-default" data-toggle="modal" data-target="#myModal">Описание вакансии</button>
<div class="modal fade" id="myModal" role="dialog" data-backdrop="false">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Описание</h4>
</div>
<div class="modal-body">
@Html.Partial("~/Views/Questions/Info.cshtml")
</div>
</div>
</div>
这是模态代码:
<div id="detail">
</div>
<script>
$(document).ready(function() {
emaillist_update2();
});
function emaillist_update2() {
var url = window.location.pathname;
var id = url.substring(url.lastIndexOf('/') + 1);
$.ajax({
url:'@Url.Action("Displayinfo2","Questions")',
type: 'Post',
dataType: 'Json',
data: {
ID: id
},
success: function(result) {
var info = result;
$("#detail").append(info.Greeting);
},
error: function(result) {
alert('Error');
}
});
}
</script>
Maodal 是局部视图
我在模态脚本中的问题在它打开的地方不起作用。看起来它在页面加载时有效,而不是模式。
当我打开模态时如何运行它?
【问题讨论】:
-
从 document.ready 中取出函数调用并将其移至按钮 onclick 事件。您还需要在函数中处理模态可见性,或者在 onclick 事件中添加一些可见性逻辑。
-
这是因为@Html.Partial 在页面加载时呈现,而不是在单击按钮时呈现。将此添加到按钮将使其在每次单击时运行该功能: onClick=" emaillist_update2()"
-
@Logan 您能否为下面的答案投票。它对我有用。仅在单击模型按钮时调用脚本。投票,以便其他人可以查看答案。
标签: javascript jquery asp.net ajax asp.net-mvc