我有一个像这样的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的新手。
答案 0 :(得分:2)
你无法完全按照自己的意愿拥有它。你可以用另一种方式做到这一点:
查看我的fiddle
基本上我有一个全局变量feedback
var feedback = false;
在对话框的ok
或cancel
上,我设置了适当的值。 IMO为您的代码增加了一些灵活性
答案 1 :(得分:1)
我建议您使用callback
。
buttons: {
Ok: function() {
callbackSuccess();
$( this ).dialog( "close" );
},
Cancel: function() {
callbackCancel();
$( this ).dialog( "close" );
}
}
callbackSuccess
和callbackCancel
- 是简单的功能
如果为ConfirmDialog创建帮助器,则更容易传递回调