2014-06-26 92 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

相关问题