javascript - 用于确认删除的模态对话框

标签 javascript jquery twitter-bootstrap modal-dialog

我正在关注这个( Bootstrap modal to confirm table row delete ),但我不确定为什么,但模式对话框没有出现。

我希望基本上做同样的事情,尽管我的表是由我的 jQuery 代码动态创建的:

$("#guests_table > tbody:last").append(
    "<tr class='btnDelete' data-id='" + guest.guest_id + "'>"
    + "<td>" + guest.guest_first_name + "</td>"
    + "<td>" + guest.guest_last_name + "</td>"
    + "<td>" + guest.guest_email + "</td>"
    + "<td>" + "<a href='editguest.html?guestId=" + guest.guest_id + "&hostId=" + hostId + "&registryId=" + guest.registry_id + " '>"
    + "<img src='images/edit26.png' height='60%' width='60%'></a></td>"
    + "<td><button class='btnDelete' href=''>delete</button></td>"
    + "</tr>");
});

在 HTML 页面的头部:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>

模态对话框:

<!-- start: Delete Coupon Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
    aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"
                    aria-hidden="true">&times;</button>
                <h3 class="modal-title" id="myModalLabel">Warning!</h3>

            </div>
            <div class="modal-body">
                <h4>Are you sure you want to DELETE?</h4>

            </div>
            <!--/modal-body-collapse -->
            <div class="modal-footer">
                <button type="button" class="btn btn-danger" id="btnDelteYes" href="#">Yes</button>
                <button type="button" class="btn btn-default" data-dismiss="modal">No</button>
            </div>
            <!--/modal-footer-collapse -->
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

JS页面中的按钮调用:

$('btn.btnDelete').on('click', function (e) {
    e.preventDefault();
    var id = $(this).closest('tr').data('id');
    $('#myModal').data('id', id).modal('show');
});

$('#btnDelteYes').click(function () {
    var id = $('#myModal').data('id');
    $('[data-id=' + id + ']').remove();
    $('#myModal').modal('hide');
});

删除时,我有一个 API 调用要删除,但我只是在努力让对话框出现。知道为什么吗?

谢谢

最佳答案

当您绑定(bind)删除按钮单击事件时,CSS 选择器出现问题。应该是.btn.btnDelete,注意前面的.

$('.btn.btnDelete').on('click', function (e) {
    e.preventDefault();
    var id = $(this).closest('tr').data('id');
    $('#myModal').data('id', id).modal('show');
});

还要确保删除按钮具有类 btn 才能正常工作:

<button class='btn btnDelete' href=''>delete</button>
<!--    add btn ^ class    -->

演示: http://plnkr.co/edit/X2hybmfUXGlFlaoFX4Al?p=preview

关于javascript - 用于确认删除的模态对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28791944/

相关文章:

javascript - jQuery - el.val(!e.val()) 返回 false

javascript - 自定义 div 包装到的位置

css - 2 列等高 - Twitter 的 Bootstrap 2.0

javascript - 禁用按钮上的页面背景提交点击

javascript - 如何取回 jquery ajax 请求发送的 xhr 错误数据?

javascript - focus 在 IE 和 Firefox 上有效,但在 Chrome 上失败

javascript - 如果有一个名为 "method"的子输入,我如何获取 form.method 属性值?

css - Div 未正确环绕内容(图片)- 包括边距、可能的 float /Bootstrap 问题

javascript - 将显示更改为 "block"后将焦点设置为输入

javascript - 停止 Edge 浏览器尝试跨元素选择单词