Bootstrap确认onConfirm不解雇

时间:2016-01-06 13:12:38

标签: jquery twitter-bootstrap

我正在尝试创建一个简单的确认对话框,在确认时触发事件。这是事件处理程序:

$('.application-delete-button').on('confirmed.bs.confirmation', function() {
    alert('Confirmed! App ID: '+$(this).attr('data-id')+' | New Status: '+$(this).attr('data-status'));
});

这是按钮本身:

<button class="application-delete-button" data-toggle="confirmation" data-id="6" data-status="0"><i class="fa fa-trash-o"></i></button>

起初我以为可能是因为类选择器和没有特定ID的按钮,但即使将唯一ID应用于按钮也会出现同样的问题。问题是确认对话框后没有任何反应。没有错误,也没有触发事件。

我也试过

.on('confirm')

无济于事。我也尝试将data-on-confirm属性设置为静态函数,但这只会产生'options.onConfirm不是函数'错误。

我在这里做错了什么?我很感激任何指导。

顺便说一句,这是我正在使用的版本:

https://cdnjs.cloudflare.com/ajax/libs/bootstrap-confirmation/1.0.5/bootstrap-confirmation.js

2 个答案:

答案 0 :(得分:0)

您需要在bootstrap确认中使用onConfirm功能,例如:

$('.application-delete-button').confirmation({
    onConfirm: function(event) {alert('Confirmed! App ID: '+$(this).attr('data-id')+' | New Status: '+$(this).attr('data-status')); }

答案 1 :(得分:0)

我已经解决了我遇到的问题。简而言之,我想要的是对话框确认触发事件。所以这就是我所做的:

$().ready(function() {
    $("[data-toggle=confirmation]").confirmation({container:"body",btnOkClass:"btn btn-sm btn-success",btnCancelClass:"btn btn-sm btn-danger",onConfirm:function(event, element) { element.trigger('confirm'); }});
}

然后是事件处理程序:

$('.application-delete-button').on('confirm', function() {
    alert('Confirmed! App ID: '+$(this).attr('data-id')+' | New Status: '+$(this).attr('data-status'));
});

关键是将此位添加到确认init:

onConfirm:function(event, element) { element.trigger('confirm'); }

由于某种原因,&nbsp;确认.bs.confirmation&#39;实际上并没有正常启动,因此您必须手动触发自己的事件。