我想将变量传递给 Jquery Ui对话框确认框以执行某些操作 按YES时按下否则关闭对话框 现在我有了这段代码
$("#confirmDialog" ).dialog({
resizable: false,
autoOpen: false,
modal: true,
buttons: {
'OK': function() {
$( this ).dialog( "close" );
},
'Cancel': function() {
$( this ).dialog( "close" );
}
}
});
$(".confirm").click(function(){
var myHref = $(this).attr("href");
$("#confirmDialog").dialog( "open" ).html ( "Confirm?" )
$("#confirmDialog").on( "dialogclose", function( event, ui ) { window.location = myHref } );
return false;
});
现在我发现只有函数(“dialogclose”)而没有别的。 当用户按YES时,如何设置ui对话框以执行某些操作? 我试图传递变量但没有成功
$(".confirm").click(function(){
$("#confirmDialog").attr(myHref).dialog( "open" ).html ( "Confirm?" )
return false;
});
$("#confirmDialog" ).dialog({
resizable: false,
autoOpen: false,
modal: true,
buttons: {
'OK': function() {
window.location.href = myHref;
$( this ).dialog( "close" );
},
'Cancel': function() {
$( this ).dialog( "close" );
}
}
});
或
$("#confirmDialog").dialog( "open" ).html ( "Confirm?" )
$("#confirmDialog").on( "OK", function( event, ui ) { window.location = myHref } );
我该怎么做? 谢谢!
答案 0 :(得分:1)
您可以编写它以便单击ok按钮(在对话框内),调用一个使用您想要设置的变量的函数。然后在链接单击事件中设置该变量,然后显示对话框以进行确认。
例如:
var $dialog = $( '#dialog-confirm' );
var $button = $('#linkButton');
var link = '';
// init dialog
$dialog.dialog({
resizable: false,
height:340,
modal: true,
autoOpen: false,
buttons: {
Ok: function() {
doSomething(); // reference your function here
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
// bind event
$button.on('click', function(e){
e.preventDefault();
link = $(this).attr('href');
$dialog.dialog('open');
});
function doSomething(){
window.location = link;
}
这里的工作示例:http://jsbin.com/azezal/2/
此处的代码视图:http://jsbin.com/azezal/2/edit