我希望它检查是否有条件。如何使用?

function notification_dialog_box(title,html,icon)
{
    var text = '<p><span class="'+icon+'" style="float:left; margin:0 7px 50px 0;"></span>'+ html  +'</p>';
    var $myDialog = $('<div id="dialog-message"></div>').html(text).dialog({
        modal: true, zIndex: 10000, autoOpen:true,width: 'auto', modal: true, resizable: false,title: title,
        buttons: {
            "OK":function(){$(this).dialog("close"); return true;},
            "Cancel":function() {$(this).dialog("close");return false;}
            }
        });
}

if(notification_dialog_box('Out of designer\'s', 'All Designer\'s are assigned in this project', 'ui-icon ui-icon-info' ))
{
code....
}

最佳答案

您在asyc回调中返回true / false。

即:返回true / false的代码在用户单击按钮之前不会运行,但是您的代码已经完成运行。

您需要切换到回调结构才能使代码正常工作。

即:您需要将一个函数传递给notification_dialog_box,该函数在用户单击按钮时被调用并传递其单击值。

像这样的东西:

function notification_dialog_box(title,html,icon, fn)
{
    var text = '<p><span class="'+icon+'" style="float:left; margin:0 7px 50px 0;"></span>'+ html  +'</p>';
    var $myDialog = $('<div id="dialog-message"></div>').html(text).dialog({
        modal: true, zIndex: 10000, autoOpen:true,width: 'auto', modal: true, resizable: false,title: title,
        buttons: {
            "OK":function(){$(this).dialog("close"); fn(true);},
            "Cancel":function() {$(this).dialog("close"); fn(false);}
            }
        });
}

notification_dialog_box('title', 'blah blah blah', 'ui-icon ui-icon-info', function(ok){
  if(ok) {
     //code
  }
} )

关于jquery - jQuery UI模式不返回true和false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11020103/

10-12 13:03