我有一些剃刀代码,我称之为模态对话框并返回一个值,但在函数继续处理代码之前,该值不会返回。 我是新手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()
}