我想阻止我的ui直到我的下拉中的值未加载 我的js文件代码如下
$(document).ready(function() {
// Load All Toll Plazas
FillInCascadeDropdown({ userType: -1 }, "#ddlTollPlazas", "/Home/GetTollPlazas/" + -1);
}
function FillInCascadeDropdown(map, dropdown, action) {
$(dropdown).empty();
$.blockUI({ message: '<img src="/Content/images/ajax-loader.gif"/>' });
$.post(action, map, function(data) {
$.each(data, function() {
$(dropdown).append("<option value=" + this.Value + ">" + this.Text + "</option>");
});
}, "json");
$.unblockUI();
}
上面的代码无法处理页面加载。
答案 0 :(得分:1)
我认为你的问题是你在调用blockUI后立即解锁。您需要将unblock调用移动到“Success”回调函数。回调的概念有点棘手。基本上这是在帖子成功后运行的代码。我确定您已看过此页面,但请参阅jQuery post page以查看您需要放置回调的位置,并here了解有关回调的更多信息(如果需要)。祝你好运!
以下是它的外观:
function FillInCascadeDropdown(map, dropdown, action) {
$(dropdown).empty();
$.blockUI({ message: '<img src="/Content/images/ajax-loader.gif"/>' });
$.post(action, map, function(data) {
$.each(data, function() {
$(dropdown).append("<option value=" + this.Value + ">" + this.Text + "</option>");
});
$.unblockUI();
}, "json");