Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载页面时阻止用户界面_Javascript_Jquery Blockui - Fatal编程技术网

Javascript 加载页面时阻止用户界面

Javascript 加载页面时阻止用户界面,javascript,jquery-blockui,Javascript,Jquery Blockui,我想阻止我的ui,直到下拉列表中的值未加载为止 我的js文件代码如下 $(document).ready(function() { // Load All Toll Plazas FillInCascadeDropdown({ userType: -1 }, "#ddlTollPlazas", "/Home/GetTollPlazas/" + -1); } function FillInCascadeDropdown(map, dropdown, action) { $

我想阻止我的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();
}
$(文档).ready(函数(){
//装载所有收费广场
FillInCascadeDropdown({userType:-1},“#ddltolplazas”,“/Home/GetTollPlazas/”+-1);
}
函数FillingCascadeDropdown(映射、下拉、操作){
$(下拉列表).empty();
$.blockUI({消息:'});
$.post(动作、地图、功能(数据){
$.each(数据,函数(){
$(下拉列表).append(“+this.Text+”);
});
}“json”);
$.unbui();
}

上面的代码在页面加载时不起作用。

我认为您的问题是,您在调用blockUI时正在取消阻止。您需要将取消阻止调用移动到“成功”位置回调函数。回调的概念有点棘手。基本上,这是在帖子成功后运行的代码。我相信你已经看到了这一页,但请参阅,看看你需要将回调放在哪里,并了解更多有关回调的信息(如果需要)。祝你好运

下面是它的外观:

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");
函数FillingCascadeDropdown(映射、下拉、操作){
$(下拉列表).empty();
$.blockUI({消息:'});
$.post(动作、地图、功能(数据){
$.each(数据,函数(){
$(下拉列表).append(“+this.Text+”);
});
$.unbui();
}“json”);

到底是什么不起作用。它看起来会很快阻塞然后消失吗?是的,阻塞很快然后消失。你能建议我在上面的代码中写unbui()吗?我写了同样的代码,不在页面加载上工作意味着ui阻塞然后立即解除阻塞。所以你在整个页面上只有一个unbui()调用吗?