.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;
});
ここで私がやろうとしているのは、各td.load_adsで.postを起動し、その後、既存の各input.valでデータを確認することです。この既存の各入力の入力値が収集されたデータと同じである場合、2番目の.post結果をエコーアウトしません。
ただし、操作全体が正しく表示されていないようです。私の問題は、.postの後の.eachにあることに気づきました。アラート(ロード)を行ったとき。返された結果は未定義でした。私は何かを見逃していますか、それとも私のコーディングが論理的に間違っているのですか?どんな助けでも大歓迎です。
/*問題を追加/ *
だから今、私は別の問題を抱えているので、ここに追加したほうがいいと思いました。
入力を追加してみます
($( "body")。append('');)
スクリプトの2番目のセクションにあります。
そのため、ループが繰り返されると、入力を読み取り、新しく追加された入力値を取り込むことができます。しかし、$( "input.exist")。lengthは常にfalseを返すため、負荷は常に1を返します。
または、これはjqueryでは実行できませんか?
/*追加された問題の終わり/ *