2014-06-26 48 views
1

我正在實施Bootstrap Modal,如果用戶點擊確認,我需要返回true
目前我不能夠使用數據屬性是這樣的:如何在Bootstrap模態上使用回調確認?

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button> 

我不熟悉的回調,我想回到TRUE當用戶點擊確認。有沒有辦法實現這一目標? Here is my fiddle

置於上下文中;我想刪除一條記錄。如果返回true,則繼續刪除。

$('#butt').click(function() { 
    $('#content').portalDialogue({ 
     title : 'Hjelp', 
     confirm: true, 
     btnClose : 'Lukk', 
     btnConfirm : 'OK', 
     action: '#' 
    }); 
}); 

(function ($) { 
    $.fn.portalDialogue = function(option,callback) { 
     var self = this; 
     var title = option.title || 'Melding'; 
     var confirm = option.confirm || false; 
     var btnClose = option.btnClose || 'Lukk'; 
     var btnConfirm = option.btnConfirm || 'Ok'; 

     // Title 
     $('.modal-title').text(title); 
     // Close button 
     $('.btnClose').html(btnClose); 
     // Confirm button 
     $('.btnConfirm').html(btnConfirm); 
     // Dialog text 
     $('.modal-body').html($(self).html()); 

     //IS confirm? 
     if (confirm) { 
      $('.btn.default').addClass('btn-default'); 
      $('.btn.confirm').removeClass('hidden').addClass('btn-primary').click(function(callback){ 
       return callback(true);     
      }); 
     } else { 
      $('.btn.default').addClass('btn-primary'); 
      $('.btn.confirm').addClass('hidden'); 
     } 

     // Open dialogue 
     $('.default-modal').modal('show'); 
    }; 
}(jQuery)); 

回答

1

的基本思想是,回調函數是一個對象。在這種情況下,您將它作爲第二個參數傳遞給portalDialogue函數。在我的例子中,我將使用匿名函數作爲回調。

在代碼的第二部分,我在click上綁定了另一個匿名函數,調用通過任意參數傳遞的回調函數(在本例中,僅爲true)。

我會改變這些行:

$('#butt').click(function() { 
    $('#content').portalDialogue({ 
     title : 'Hjelp', 
     confirm: true, 
     btnClose : 'Lukk', 
     btnConfirm : 'OK', 
     action: '#' 
    }, function(ret){ // <-- our callback 
     alert(ret); // or whatever code you need 
    }); 
}); 

.... 

$('.btn.confirm').removeClass('hidden').addClass('btn-primary').click(function(){ 
    return callback(true);     
}); 

http://jsfiddle.net/9KyL5/4/

更多關於回調:https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes/js-ctypes_reference/Callbacks

相關問題