首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自举-确认删除照片

自举-确认删除照片
EN

Stack Overflow用户
提问于 2015-10-26 08:57:45
回答 1查看 711关注 0票数 1

这是我第一次使用引导确认。我试图删除照片时,他们按删除,然后确认将弹出。如果他们点击OK,我们可以删除照片。我的问题是,当我有3个照片和3个删除按钮,你点击第三个按钮,他将删除第一个图像。这是我的代码:

代码语言:javascript
运行
复制
$(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代码:

代码语言:javascript
运行
复制
 <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-26 10:01:35

自举确认文档中,它说

确认尝试取消目标的默认事件,并在单击"Ok“按钮时触发该事件。但是,为了具有良好的行为,必须在手动附加事件侦听器之前(使用$.on())对插件进行初始化。 如果这是不可能的,您可以监听confirmed.bs.confirmation或使用onConfirm回调。

所以我刚刚对你的js做了一点改进

代码语言:javascript
运行
复制
$(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");
        }
    });
};

也检查一下这把小提琴

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33341823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档