javascript - 如何显示引导对话框,然后调用 $.get 更新对话框代码
问题描述
我有一个引导对话框,其中有一个需要在事务发生后更新的列表。我已将对话框代码放在 MVC 局部视图中。我还定义了一个区域,将部分视图呈现到父视图中,如下所示:
<div id="idCodeRefreshAreaForFindModal">
@{Html.RenderPartial("_FindPurchaseOrderModal", Model); }
</div>
模态对话框显示良好,代码如下:
单击按钮以显示对话框:
<input type="button" name="PurchaseOrderButton" value="Test with JavaScript function"
class="btn btn-primary" id="idFindBtnTest2" />
单击上述按钮时触发的 jQuery 事件处理程序:
$("#idFindBtnTest2").click(function () {
$('#id-FindModal').modal('show');
});
});
但是,我需要的是在对话代码关闭并发生事务后刷新对话代码。这是我遇到问题的地方。如果我更新了上面的代码,那么一个$.get
事务就会发生,返回一个更新的部分对话框视图,稍后再次单击该按钮将不会显示:
$("#idFindBtnTest2").click(function () {
$('#id-FindModal').modal('show');
var params = {};
url = '@Url.Action("_FindPurchaseOrderModal", "PurchaseOrder")';
$.get(url, $.param(params, false), function (data) {
$('#idCodeRefreshAreaForFindModal').html(data);
});
});
我认为对话框代码在显示之前已经更新,所以这破坏了对话框。如果我删除尝试显示对话框的行并再次运行此测试,则$.get
操作会成功更新模态的部分视图。如果我删除该$.get
部分并只留下显示对话框部分,则对话框显示正常。
我尝试在语句之后放置一个sleep(2000)
语句以显示对话框,但这不起作用。对话框关闭后,如何$.get
使用部分视图更新对话框代码?
解决方案
如何在对话框关闭后执行 $.get 以使用部分视图更新对话框代码?
这可能是一个更好的解决方案,而不是将事件绑定到显示模式的按钮,您可以在模式关闭时绑定事件。
$("#idFindBtnTest2").click(function () {
$('#id-FindModal').modal('show');
});
$(document).on('hidden.bs.modal', '#id-FindModal', function (event) {
var params = {};
url = '@Url.Action("_FindPurchaseOrderModal", "PurchaseOrder")';
$.get(url, $.param(params, false), function (data) {
$('#idCodeRefreshAreaForFindModal').html(data);
});
});
推荐阅读
- java - 按意图传递 firebase 数据会导致 java.lang.IllegalArgumentException
- react-native - 如何清除 React-Native 中的 AsyncStorage?
- javascript - 无法在 fcm 中对通知进行分组
- sql - SQL Server如何提动态列值不应该为空
- linux - 无论使用的存储驱动程序如何,都可以获得 docker 容器的 rootfs 吗?
- c++ - 链接到 c++ 库时出现意外的符号解析
- shell - 如何在 bash 上捕获状态以获取 shell 脚本输出结果
- spring - 增加和减少按钮怎么做?
- laravel - 带有关系模型的 Laravel 策略
- maven - 具有完整 jar 名称的 Maven 复制依赖项