我正在使用bootstrap confirmation plugin,我有一个包含用户列表的表。其中一列有一个删除按钮,用于删除用户的链接,但在删除用户之前,我有一个需要点击的确认框。我想只使用一个弹出每个按钮的确认对话框,我想将用户ID的链接分配给删除按钮。
现在扭曲的是整个表格也在多个删除的形式内。所以我不能为每个删除按钮添加单独的表单。
<table class="table table-bordered table-striped mb-none" id="datatable-default">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Email</th>
<th class="center">Actions</th>
</tr>
</thead>
<tbody>
<tr role="row" class="even">
<td>1</td>
<td><a href="http://website.dev/globaladmin/users/7">jane doe</a></td>
<td>jane@gmail.com</td>
<td>
<a href="#" class="confirmation-callback" data-id="1" data-placement="left">
<i class="fa fa-trash-o"></i>
</a>
</td>
</tr>
<tr role="row" class="even">
<td>2</td>
<td><a href="http://website.dev/globaladmin/users/7">john doe</a></td>
<td>john@gmail.com</td>
<td>
<a href="#" class="confirmation-callback" data-id="2" data-placement="left">
<i class="fa fa-trash-o"></i>
</a>
</td>
</tr>
<tbody>
这是我的js代码:
$('.confirmation-callback').confirmation({
onConfirm: function() {
alert('You clicked: delete');
},
onCancel: function() {
alert('You clicked: cancel');
}
});
在javascript中,我只想获取调用该函数的按钮的数据ID,如:
$(this).data(id);
以下是jsfiddle /完整代码的链接:http://jsfiddle.net/mswyxp0u/
答案 0 :(得分:1)
我能想到一个解决方案。所以这里是:首先将singleton
选项设置为true以确认。将其设置为true将导致:
设置为true以允许一次只显示一个确认。
单击最新的确认元素时,较旧的确认元素将消失。
现在我们知道一次只会出现一个确认框。所以现在创建一个全局变量来存储id(data-id
)的最后点击删除按钮属性。现在绑定一个事件来点击该删除,然后将data-id存储在全局变量中,因为您可以在点击事件中轻松使用$(this).data("id")
。
现在在onConfirm或onCancel中使用此全局变量,因为只有在单击删除按钮后才能确认/取消,现在如果只有一个确认框出现,则表示确认/取消回调仅用于最后一次单击按钮。