我在尝试在我的codeigniter代码,我拥有的客户模块的索引(代码的一部分)上运行甜蜜警报时遇到问题:



<table class="table table-striped">
    <tr>
		<td>ID</td>
		<td>Empresa</td>
		<td>Contacto</td>
		<td>RNC</td>
		<td>Telefono</td>
		<td>Email</td>
		<td>Acciones</td>
    </tr>
	<?php foreach($clientes as $c): ?>
    <tr>
		<td><?php echo $c['id']; ?></td>
		<td><?php echo $c['empresa']; ?></td>
		<td><?php echo $c['contacto']; ?></td>
		<td><?php echo $c['rnc']; ?></td>
		<td><?php echo $c['telefono']; ?></td>
		<td><?php echo $c['email']; ?></td>
		<td>
            <a href="<?php echo site_url('clientes/edit/'.$c['id']); ?>" class="btn btn-info">Editar</a>
            <a href="<?php echo site_url('clientes/delete/'.$c['id']); ?>" class="btn btn-danger">Eliminar</a>
            <a href="<?php echo site_url('clientes/view/'.$c['id']); ?>" class="btn btn-danger">Ver</a>

        </td>
    </tr>
	<?php endforeach; ?>

</table>





然后我在我的js中:

$('#AlertaEliminarCliente').on("click", function() {
  swal({
      title: "Está seguro?",
      text: "No podrá recuperar el cliente una vez sea eliminado!",
      type: "warning",
      showCancelButton: true,
      confirmButtonColor: '#DD6B55',
      confirmButtonText: 'Si, Eliminarlo!',
      cancelButtonText: "No, Cancelar!",
      confirmButtonClass: "btn-danger",
      closeOnConfirm: false,
      closeOnCancel: false
    },
    function(isConfirm) {
      if (isConfirm) {
        swal("Eliminado!", "Su cliente ha sido eliminado!", "success");
      } else {
        swal("Cancelado", "Su cliente está a salvo! :)", "error");
      }
    });
});


如何将ID #AlertaEliminarCliente添加到我的按钮中



我试图添加它,它只是删除行而不要求确认等。从甜蜜的警报中,我是否缺少某些东西?任何指导其表示赞赏,谢谢您的时间!

最佳答案

单击该按钮会将用户带到URL clientes/delete/'.$c['id'],而不管用户是否与甜蜜警报进行交互。您需要修改jQuery以防止url更改,并且仅根据用户选择的甜蜜警报提示来重定向用户。

$('#AlertaEliminarCliente').on("click", function(e) {
  e.preventDefault();
  var url = $(this).attr('href');
  swal({
      title: "Está seguro?",
      text: "No podrá recuperar el cliente una vez sea eliminado!",
      type: "warning",
      showCancelButton: true,
      confirmButtonColor: '#DD6B55',
      confirmButtonText: 'Si, Eliminarlo!',
      cancelButtonText: "No, Cancelar!",
      confirmButtonClass: "btn-danger",
      closeOnConfirm: false,
      closeOnCancel: false
    },
    function(isConfirm) {
      if (isConfirm) {
        swal("Eliminado!", "Su cliente ha sido eliminado!", "success");
        window.location.replace(url);
      } else {
        swal("Cancelado", "Su cliente está a salvo! :)", "error");
      }
    });
});


您可能需要设置超时,以便在更改网址之前仍显示最终消息

setTimeout(function(){ window.location.replace = url; }, 2000);


最后说明:如果打算在页面上的多个元素上使用此方法,则应使用.AlertaEliminarCliente而不是#AlertaEliminarCliente

08-17 13:06