Jquery对话框没有足够快地返回值

时间:2014-09-25 19:19:24

标签: javascript jquery modal-dialog

我有一些剃刀代码,我称之为模态对话框并返回一个值,但在函数继续处理代码之前,该值不会返回。 我是新手jQuery和javascript任何帮助将不胜感激。

<div id="modalOverRide" title=" Override Tolerance" style= "display: none;" >
<p id = "modalOverRide">   

 </p>
</div>

我从CheckMin()

调用此函数
function TmodalOverRide(message, callback) {
    $("#modalOverRide").text(message);
    $("#modalOverRide").data("callback", callback).dialog("open");
};
 $(function () {
    $("#modalOverRide").dialog(

                             {
                                 // This will allow the operator to pass a fail slice that is within .001in or 0.254mm
                                 //This goes with div modalOverride
                                 autoOpen: false,
                                 modal: true,
                                 closeOnEscape: false,

                                 buttons:
                                {

                                    Yes: function () {
                                        $(this).dialog("close");
                                        $(this).data("callback")(true);
                                    },
                                    No: function () {
                                        $(this).dialog("close");
                                        $(this).data("callback")(false);



                                    }
                                }

                             });
});

function CheckMin() {

    var mmMinTol = $('#textMM_MinTol').val();
    mmMinTol = mmMinTol.trim();
    var mmAdjMinTol = mmMinTol - 0.0254;
    var mmMaxTol = $('#textMM_MaxTol').val();
    mmMaxTol = mmMaxTol.trim();
    var mmAdjMaxTol = +mmMaxTol + +0.0254;
    var inMaxTol = $('#textIN_MaxTol').val();
    inMaxTol = inMaxTol.trim();
    var inAdjMaxTol = +inMaxTol + +0.001;
    var inMinTol = $('#textIN_MinTol').val();
    inMinTol = inMinTol.trim();
    var inAdjMinTol = inMinTol - 0.001;
    var OptoMin = $('#textOptoMin').val();
    OptoMin = OptoMin.trim();
    var mmOptoMin = (OptoMin * 25.4);
    var MinGMinTol
    var MinLMaxTol
    var MinTolDiff
    var MaxTolDiff


    var UOM = $('#textUOM').val();

    if (UOM == "mm") {
        if (mmOptoMin >= mmMinTol && mmOptoMin <= mmMaxTol) {
           var MinAnswer = "T"
           ('#HMinTestResult').val(MinAnswer)

        } else if (mmOptoMin >= mmAdjMinTol) {// && mmOptoMin <= mmAdjMaxTol) {
           var HOverrideValue = TmodalOverRide()
           alert(HOverrideValue)
            $('#HMinTestResult').val(HOverrideValue)            }
        else {
            $('#HMinTestResult').val("F")

        }


    } else {
        if (OptoMin >= inMinTol && OptoMin <= inMaxTol) {
            $('#HMinTestResult').val("T")
        } else if (OptoMin >= inAdjMinTol && OptoMin <= inAdjMaxTol) {
            var MinValue = TmodalOverRide()
            alert(MinValue)
            $('#HMinTestResult').val(MinValue)
        } else {
            $('#HMinTestResult').val("F")
        }

    }

    CheckMax()
}

0 个答案:

没有答案