2013-02-17 25 views
0

我想给一个变量传递给jQuery用户界面对话框确认框做点什么 时按YES,只有当按下号 现在我有这样的代码关闭对话框行动JQuery用户界面对话框确认通变量,

$("#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

你会写一个扩展方法。你想达到什么目的?当用户在对话框中点击确定时,你想设置一些值吗? – 2013-02-17 11:33:46

回答

1

您可以编写它,让您的确定按钮单击(在对话框内),调用使用您想设置的变量的函数。然后在链接点击事件中设置该变量,然后显示确认对话框。

例如:

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

+0

谢谢,但我想使用链接而不是按钮,并且我想使用href属性来设置我的链接变量。我试过\t $(“。del”)。click(function(){ \t link = $(this).attr(“href”); $ dialog.dialog('open'); });但不起作用:( – 2013-02-17 17:20:09

+0

代码实际上非常相似,我已经更新了我的答案。希望这是正确的:) – 2013-02-17 20:20:30

+0

它是完美的。十分感谢! – 2013-02-18 08:04:07

相关问题