是否存在javascript回调缓存?

是否存在javascript回调缓存?,javascript,jquery,callback,Javascript,Jquery,Callback,看这段代码,伙计们: <script type="text/javascript"> $("#<?=$delete_uid?>").click(function() { var id = $("#<?=$grid_uid?>").jqGrid('getGridParam','selrow'); alert(id); if(id == null) { $.jGrowl("No selected Item");

看这段代码,伙计们:

<script type="text/javascript">

$("#<?=$delete_uid?>").click(function() {
    var id = $("#<?=$grid_uid?>").jqGrid('getGridParam','selrow');
    alert(id);
    if(id == null) {
        $.jGrowl("No selected Item");
        return;
    }

    confirm('Caution','Delete current selected item?', function(result) {
        if(result==true) {
            alert(id);
            url = "<?=ADMIN_URL?>/account/delete/id/" + id;
            execURL(url, function(result) {
                if (result==true) {
                    $.jGrowl("Item removed!!");
                    $("#<?=$grid_uid?>").trigger("reloadGrid");
                } else
                    $.jGrowl("Remove failure!!");
            });
        }
    });
});
</script>

$(“#”)单击(函数(){
var id=$(“#”)jqGrid('getGridParam','selrow');
警报(id);
if(id==null){
$.jGrowl(“无选定项”);
返回;
}
确认('Caution','Delete current selected item?',函数(结果){
如果(结果==真){
警报(id);
url=“/account/delete/id/”+id;
execURL(url、函数(结果){
如果(结果==真){
$.jGrowl(“项目已删除!!”);
$(“#”)触发器(“重新加载网格”);
}否则
$.jGrowl(“删除失败!!”);
});
}
});
});
obs:警报仅用于调试目的

在第一次传递中,id来自jqgrid,它写的所有内容都可以,但在第二次传递时,id仅在确认函数回调中保持第一个值


请帮忙,在这上面损失了3个小时

尝试对“确认”函数使用不同的语法。不要将函数传递给它,而是使用其返回值作为结果:

 if(confirm('Caution','Delete current selected item?')){
            alert(id);
            url = "<?=ADMIN_URL?>/account/delete/id/" + id;
            execURL(url, function(result) {
                if (result==true) {
                    $.jGrowl("Item removed!!");
                    $("#<?=$grid_uid?>").trigger("reloadGrid");
                } else
                    $.jGrowl("Remove failure!!");
            });
 };
if(确认('Caution','Delete current selected item?')){
警报(id);
url=“/account/delete/id/”+id;
execURL(url、函数(结果){
如果(结果==真){
$.jGrowl(“项目已删除!!”);
$(“#”)触发器(“重新加载网格”);
}否则
$.jGrowl(“删除失败!!”);
});
};

这应该会有帮助。

这还不是很清楚。。。你能解释一下吗?
警报显示什么?您期望得到什么?allert if出于调试目的,仅显示我的jqgrid的当前选定行id。在第二次调用此rotine时,警报是正确的,但在装载url变量de id mantain时,最后选择的id!!这道题有很多语法和拼写错误,很难让人理解。试着用拼写检查器或让朋友帮你写问题。你花了3个小时来解决这个问题,但很明显,你花了23秒来准备一个像样的问题。。。