是否存在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秒来准备一个像样的问题。。。