Javascript 对话框打开前的JQuery UI
我有一个非常简单的对话框Javascript 对话框打开前的JQuery UI,javascript,jquery,jquery-ui,dialog,dwr,Javascript,Jquery,Jquery Ui,Dialog,Dwr,我有一个非常简单的对话框 <script> $(function() { $( "#openDialog").on("click", function(){ $( "#dialog-modal" ).dialog({ height: 300, width: 600, modal: true, buttons: { Cancel: function() {
<script>
$(function() {
$( "#openDialog").on("click", function(){
$( "#dialog-modal" ).dialog({
height: 300,
width: 600,
modal: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
$( "#dialog-modal" ).show();
});
});
</script>
$(函数(){
$(“#openDialog”)。在(“单击”,函数(){
$(“#对话框模式”).dialog({
身高:300,
宽度:600,
莫代尔:是的,
按钮:{
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
$(“#对话框模式”).show();
});
});
我正在用一个HTML表填充这个对话框,该表包含从Java方法传入的信息。我可以在加载页面时使其工作,但我希望在用户打开对话框时加载信息
我已经检查了jQueryUI的API,对话框有beforeClose函数,但没有beforeOpen函数。这样做的最佳方式是什么?当用户打开对话框(在.show上)时,我尝试了回调,但无法使其正常工作
<script>
$(function() {
$( "#openDialog").on("click", function(){
$( "#dialog-modal" ).dialog({
height: 300,
width: 600,
modal: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
$( "#dialog-modal" ).show(function(
JavaClass.javaMethod();
));
});
});
</script>
$(函数(){
$(“#openDialog”)。在(“单击”,函数(){
$(“#对话框模式”).dialog({
身高:300,
宽度:600,
莫代尔:是的,
按钮:{
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
$(“#对话框模式”).show(函数(
JavaClass.javaMethod();
));
});
});
为什么不
<script>
$(function() {
$( "#openDialog").on("click", function(){
if (shouldOpenDialog()){ // Do what you must do here
$( "#dialog-modal" ).dialog({
height: 300,
width: 600,
modal: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
$( "#dialog-modal" ).show();
}
});
});
</script>
尝试打开事件:当对话框打开时会触发它。在对话框打开之前,我需要Java调用,我不希望在Java调用完成之前打开对话框检查是否有帮助。嘿@HipArray,我的回答有用吗?
<script>
$(function() {
$( "#openDialog").on("click", function(){
if (shouldOpenDialog(function() { // Do what you must do here
$( "#dialog-modal" ).dialog({
height: 300,
width: 600,
modal: true,
buttons: {
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
$( "#dialog-modal" ).show();
});
});
});
</script>
function shouldOpenDialog(callback) {
asyncCall(onComplete: function(o){
if (o.ok)
callback();
});
}