0

ドロップダウンの値がロードされないまで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();
}

上記のコードはページの読み込みでは機能しません。

4

1 に答える 1

1

問題は、blockUIを呼び出すとすぐにブロックが解除されることだと思います。ブロック解除呼び出しを「Success」コールバック関数に移動する必要があります。コールバックの概念は少し注意が必要です。基本的に、これは投稿が成功すると実行されるコードです。このページを見たことがあると思いますが、jQueryの投稿ページを参照してコールバックを配置する必要がある場所を確認し、必要に応じてコールバックの詳細を確認してください。幸運を!

外観は次のとおりです。

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");
于 2012-02-02T10:44:01.507 に答える