-2
JQuery
に私の機能の動作が少し混乱しています。実際には、is_airport
関数は、その場所が空港のJSONを使用している空港かどうかを判断します。JQueryはtrueを返した後にfalseを返しますか?
JSONは正しく動作しているようです。ご覧のとおり、destination_id
が空港のJSONキーにあるかどうかを検出するためのループがあります。そうです。 に「OK」と警告しますが、true
の代わりにfalse
を返します。
each
の代わりにAJAX
があった場合は、非同期のためこの動作が予想されます。しかし、なぜそれがここで起こるのですか?
function is_airport(destination_id){
var json_storage = $("#locations-json");
var airports = JSON.parse(json_storage.attr("data-airports"));
$.each(airports,function(id,name){
console.log(id,destination_id,name);
if (id==destination_id){
alert('ok');
return true
}
});
return false
}
$(document).ready(function() {
console.log(is_airport(5));)}
どこで問題があるのでしょうか?
折り返し機能ではなく、 '$ .each'ループからtrueを返しています –