如何运行条件jquery函数?

时间:2012-03-29 13:08:20

标签: jquery click

以下代码

<script type="text/javascript">
$(document).ready(function(){
$("#erase").click(function(){
    confirm('Are you sure you want to erase it?');
    var data = {
         "post": 123,
     };
    $("#wrapper").load("<?php echo $url; ?>", data)
});
});
</script>

当用户点击擦除链接时,上面的代码返回一个确认窗口,其中有两个选项Ok和Cancel。但无论他们选择什么(Ok或Cancel),都会调用load()函数。如果用户选择退出操作,如何阻止加载功能?

5 个答案:

答案 0 :(得分:3)

你永远不会测试确认。您需要存储confirm()调用的值,然后对其进行测试:

var proceed = confirm('...');
if (proceed){
  // continue on
}

上述方面的缺点是首先避免分配(这也是完全可以接受的):

if (confirm('...')){
  // proceed
}

关于window.confirm的使用示例,MDN上写了很多文章。

答案 1 :(得分:1)

如果您只想在用户点击“确定”时触发该功能,则此处是

的代码
$("#erase").click(function(){
   if(confirm('Are you sure you want to erase it?')){

   var data = {
     "post": 123,
    };
   $("#wrapper").load("<?php echo $url; ?>", data)
  }


});

答案 2 :(得分:0)

confirm()如果单击“确定”则返回true,如果单击“取消”则返回false。在继续之前检查值。

    if (confirm('Are you sure you want to erase it?'))
    {
      var data = {
         "post": 123,
       };
      $("#wrapper").load("<?php echo $url; ?>", data)
    }

答案 3 :(得分:0)

'confirm'JS-Function应该返回一个布尔值,无论用户选择'Ok'还是'Cancel'。 只需替换

confirm('Are you sure you want to erase it?')

if( !confirm('Are you sure you want to erase it?') )
     return;

希望有所帮助!

答案 4 :(得分:0)

快速帮助你。 http://jsfiddle.net/yPkuZ/

您需要保存对其结果的响应和操作

$(document).ready(function() {
    $("#erase").click(function() {
        reply = confirm('Are you sure you want to erase it?');
        if (reply) {
            var data = {
                "post": 123,
        };
        $("#wrapper").load("<?php echo $url; ?>", data)
    } else {
        alert('do nothing');
    }
});

});