2013-02-17 47 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

相關問題