1

我有一个这样的javascript函数:

Javascript:

function dailog_box(){
    $( "#dialog-confirm" ).dialog({
        resizable: false,
        modal: true,
        buttons: {
            Ok: function() {
            $( this ).dialog( "close" );
            return true;   //i want to return value here
        },
            Cancel: function() {
            $( this ).dialog( "close" );
            return false;  //i want to return value here
            }
        }
    });
}

html

<div id="dialog-confirm" title="Prescriptions" style="display:none;">
    <p>
        <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
        These items will be permanently deleted and cannot be recovered. Are you sure?<br/>
        <input type="checkbox" name="check_od" id="check_od"/> The prescription is correct;
    </p>
</div>

调用dialog_box()函数后,我想要变量标志中的返回值,我这样做了:

Javascript

 var flag = dailog_box();
 alert(flag);

但结果是不确定的。在我点击任何按钮之前也会发出警报。那么在模型的按钮中单击任何按钮后我应该怎么做才能获取值

有关更多信息,您可以查看http://jsfiddle.net/8e388/13/ 我希望返回的值被提醒。顺便说一下,我是 jsfiddle 的新手。

4

2 回答 2

2

你不能完全按照你喜欢的方式拥有它。您可以使用另一种方式执行此操作:

看看我的小提琴

基本上我有一个全局变量feedback

var feedback = false;

okcancel对话框中,我设置了适当的值。IMO 这为您的代码增加了一些灵活性

于 2013-06-06T08:52:06.063 回答
1

我建议你使用callback.

buttons: {
            Ok: function() {
            callbackSuccess();
            $( this ).dialog( "close" );
        },
            Cancel: function() {
            callbackCancel();
            $( this ).dialog( "close" );
            }
        }

callbackSuccesscallbackCancel- 是简单的功能

如果您为 ConfirmDialog 创建助手,则传递回调会更容易

于 2013-06-06T08:58:42.267 回答