这是我第一次使用引导确认。我试图删除照片时,他们按删除,然后确认将弹出。如果他们点击OK,我们可以删除照片。我的问题是,当我有3个照片和3个删除按钮,你点击第三个按钮,他将删除第一个图像。这是我的代码:
$(function(){
var removeFunction = function(id) {
var number = id.split('_');
var foto = $('#foto_' + number[1]).attr('href');
var p_id = $('#hidden_field').data('p_id');
$.ajax({
type: "POST",
url: "verwijderfoto",
data: {foto: foto, p_id: p_id},
cache: false,
success: function () {
$('#delete_' + number[1]).hide();
$('#load').fadeOut();
$('#foto_' + number[1]).hide();
$('.text_delete_' + number[1]).append("Geen foto");
}
});
};
var clickedDeleteButton = $('[data- toggle=confirmation]').confirmation({
title: "Weet u het zeker ?",
btnOkLabel: "Ok",
btnCancelLabel: "Cancel",
btnOkId: "test",
onConfirm : function() {
$('body').trigger('confirmed.bs.confirmation');
}
}).click(function(){return $(this).attr('id')});
$('body').on('confirmed.bs.confirmation', function() {removeFunction(clickedDeleteButton.attr('id'));return true});
return false;
});
如果我在clickedDeleteButton中返回$(this),我会得到正确的id,但是我想,因为我很快就触发了身体,所以他不会得到正确的id。
这是html代码:
<a href="<?php echo $data['fotoproduct']->foto1?>" class="delete" id="foto_1" data-lightbox="Image-1"><img class="lightbox-foto" src="<?php echo $data['fotoproduct']->foto1 ?>"></a>
<button class="btn btn-default btn-danger" data-foto="<?php $data['fotoproduct']->foto1 ?>" id="delete_1" data-placement="top" data-toggle="confirmation">X</button>
发布于 2015-10-26 10:01:35
在自举确认文档中,它说
确认尝试取消目标的默认事件,并在单击"Ok“按钮时触发该事件。但是,为了具有良好的行为,必须在手动附加事件侦听器之前(使用
$.on()
)对插件进行初始化。 如果这是不可能的,您可以监听confirmed.bs.confirmation
或使用onConfirm
回调。
所以我刚刚对你的js做了一点改进
$(document).ready(function () {
$('[data-toggle="confirmation"]').confirmation({
title: "Weet u het zeker ?",
btnOkLabel: "Ok",
btnCancelLabel: "Cancel",
btnOkId: "test"
});
$('#imgs > button').on('click', function () {
var id = $(this).attr('id').split('_');
removeFunction(id[1]);
});
});
function removeFunction(id) {
var href = $('#foto_' + id).attr('href');
$.ajax({
type: "POST",
url: "verwijderfoto",
data: {
foto: href,
p_id: id
},
cache: false,
success: function () {
$('#delete_' + number[1]).hide();
$('#load').fadeOut();
$('#foto_' + number[1]).hide();
$('.text_delete_' + number[1]).append("Geen foto");
}
});
};
也检查一下这把小提琴
https://stackoverflow.com/questions/33341823
复制相似问题