jQuery删除确认框

40

在我的jQuery中,我正在以表格格式输出结果,我的jQuery的一部分如下:

<td class='close' onclick='deleteItem(#ITEMID,#ITEMNAME)'></td>

这里"close"是一个CSS类,在这个类中有一个叉号图片,如果我点击这个叉号,函数(deleteItem)将被触发。

我想做的是,如果我点击这个叉号,应该弹出一个"删除确认框",如果我点击“是”,则应该触发此onclick事件,否则如果我点击“否”,则不会发生任何事情。

我该如何实现呢?有人可以帮帮我吗....

9个回答

121

你需要在deleteItem()函数中添加confirm()方法。

function deleteItem() {
    if (confirm("Are you sure?")) {
        // your deletion code
    }
    return false;
}

6
这个方法可行,但需要注意的是它不仅适用于jQuery,也可以运用在普通的JavaScript中。 - crmpicco

32
$(document).ready(function(){
  $(".del").click(function(){
    if (!confirm("Do you want to delete")){
      return false;
    }
  });
});

1
最佳答案是因为它包含了条件语句。 - johnny

16

我使用了这个:

<a href="url/to/delete.asp" onclick="return confirm(' you want to delete?');">Delete</a>

11

尝试使用以下代码:

$('.close').click(function(){
var checkstr =  confirm('are you sure you want to delete this?');
if(checkstr == true){
  // do your code
}else{
return false;
}
});

function deleteItem(){
    var checkstr =  confirm('are you sure you want to delete this?');
    if(checkstr == true){
      // do your code
    }else{
    return false;
    }
  }

这可能适合你的情况。

谢谢。


8
function deleteItem(this) {
    if (confirm("Are you sure?")) {
          $(this).remove();
    }
    return false;
}

你可以同样使用jQuery模态框。
jQuery版本。
  $(document).ready(function() {
    $("#dialog-box").dialog({
      autoOpen: false,
      modal: true
    });

  $(".close").click(function(e) {
    var currentElem = $(this);
    $("#dialog-box").dialog({
      buttons : {
        "Confirm" : function() {
          currentElem.remove()
        },
        "Cancel" : function() {
          $(this).dialog("close");
        }
      }
    });

    $("#dialog-box").dialog("open");
  });
});

4

使用这个 JSFiddle 示例试试看: http://jsfiddle.net/2yEtK/3/

Jquery Code:

$("a.removeRecord").live("click",function(event){
   event.stopPropagation();
   if(confirm("Do you want to delete?")) {
    this.click;
       alert("Ok");
   }
   else
   {
       alert("Cancel");
   }       
   event.preventDefault();

});

感谢您宝贵的回复和示例,我已经找到了解决方案。 - shanish

3

尝试一下,我的朋友

  // Confirmation Message On Delete Button.

  $('.close').click(function() {
    return confirm('Are You Sure ?')
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td class='close'></td>


3

简而言之:

$("a. close").live("click",function(event){
     return confirm("Do you want to delete?");
});

2

更新JQuery到1.9.1版本,删除链接在这里$("#div1").find('button').click(function(){...}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接