Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery在.each之后未定义_Javascript_Jquery_Each_.post - Fatal编程技术网

Javascript Jquery在.each之后未定义

Javascript Jquery在.each之后未定义,javascript,jquery,each,.post,Javascript,Jquery,Each,.post,我从一个.post后调用的.each中得到未定义的结果。下面是我的代码 Javascript var index=0; $("td.load_ads").each(function(){ var loading=$(this); $.post('/self_coded_helpers/jpost_get_ads.php',{index:index,type:'fetch_id'},function(data){ if($("

我从一个.post后调用的.each中得到未定义的结果。下面是我的代码

Javascript

    var index=0;
    $("td.load_ads").each(function(){
        var loading=$(this);
        $.post('/self_coded_helpers/jpost_get_ads.php',{index:index,type:'fetch_id'},function(data){
            if($("input.exist").length > 0){
                $("input.exist").each(function(){
                    if($(this).val()==data){
                        var load='0';
                    }else{
                        var load='1';
                    }
                });
            }else{
                var load='1';
            }
            alert(load);
            if(load == 1){
                $.post('/self_coded_helpers/jpost_get_ads.php',{index:index,type:'fetch_details',id:data},function(data2){
                    $("body").append('<input type="hidden" class="exist" name="exist" value="'+data+'">');
                    if(data2!=0){
                        loading.html(load+'--'+data2);
                    }else{
                        loading.html("Place a Free Ad Now!");
                    }
                });
            }else{
                loading.html(load+"--"+data+"Place a Free Ad Now!");
            }
        });
        index=index+1;
    });
var指数=0;
$(“td.load_ads”)。每个(函数(){
var加载=$(此);
$.post('/self_-coded_-helpers/jpost_-get_-ads.php',{index:index,type:'fetch_-id',函数(数据){
如果($(“input.exist”).length>0){
$(“input.exist”)。每个(函数(){
if($(this).val()==数据){
var-load='0';
}否则{
var负荷=1';
}
});
}否则{
var负荷=1';
}
警报(负载);
如果(负载==1){
$.post('/self_-coded_-helpers/jpost_-get_-ads.php',{index:index,type:'fetch_-details',id:data},函数(data2){
$(“正文”)。附加(“”);
如果(数据2!=0){
html(load+'-'+data2);
}否则{
html(“立即放置免费广告!”);
}
});
}否则{
html(load+“--”+data+“立即放置免费广告!”);
}
});
指数=指数+1;
});
我想在这里做的是在我的每个td.load_广告上发布一个.post,然后用每个现有的input.val检查数据。如果每个现有输入上的输入值与所收集的数据相同,那么我将不回显第二个.post结果

然而,整个操作似乎没有正确显示。我意识到我的问题出在了.post之后的。当我执行警报(加载)时。返回的结果未定义。是我遗漏了什么,还是我的编码在逻辑上不正确?任何帮助都将不胜感激

/*新增问题/*

所以现在,我有另一个问题,所以我想最好把它加在这里

我尝试附加输入

($(“正文”)。附加(“”);)

在脚本的第二部分

这样,当循环自身重复时,它将能够读取输入并接收新添加的输入值。但是我的load总是返回1,因为我的$(“input.exist”).length总是返回false

或者这是jquery不可能做到的


/*添加问题结束/*

您需要提前声明
加载
变量。现在,在一个匿名函数中声明它两次,变量的作用域将限于该函数;
var负载=语句将没有可观察的效果

请尝试以下方法:

var load = '1';

if($("input.exist").length > 0){
    $("input.exist").each(function(){
        if($(this).val()==data){
            load='0';
        }else{
            load='1';
        }
    });
}

alert(load);

您需要提前声明
load
变量。现在,在一个匿名函数中声明它两次,变量的作用域将限于该函数;
var负载=语句将没有可观察的效果

请尝试以下方法:

var load = '1';

if($("input.exist").length > 0){
    $("input.exist").each(function(){
        if($(this).val()==data){
            load='0';
        }else{
            load='1';
        }
    });
}

alert(load);

load
在您的
each
函数之后超出范围-将其声明移到顶部。在
$(“input.exist”)。each(function(){…}
循环中,是否要测试“all”或“any”在匹配项中?就目前情况而言,代码没有这两项。从技术上讲,您不必在函数外部声明
load
。只要您没有使用
var
声明变量,就可以在整个函数中访问
load
每个
函数之后超出范围-移动声明项在
$(“input.exist”).each(function(){…}
循环中,要测试“all”还是“any”在匹配项中?就目前情况而言,代码没有这两项。从技术上讲,您不必在函数外部声明
load
。只要您没有使用
var
声明变量,它就可以在整个函数中访问whao.Nice.Loving StackOverflow这将运行,但您确定它给出了正确的行为吗?whao.很好。这将运行,但您确定它提供了正确的行为吗?