JS/AJAXとJSONの構文解析が初めてです。私はしばらくの間、このコードスニペットをデバッグしようとしていましたが、私はそれを理解できないようです。JS/AJAX/JSON
私は動的divに値を追加しようとしていますが、AJAXリクエスト内の$( "#" + id)は常にforループ内のidの最後の値を持っています。 forループがdiv idの次の値にインクリメントするたびに、それを追加しません。
誰かが間違っていることを知っていますか?またはこのようなAJAXリクエストですか?
最後のvar myIDはデバッグ用です。 myIDはidの値を正しく取得しますが、AJAXリクエストはforループの最後の値が実行されるまで実行されないようです。
ご協力いただければ幸いです。
for (var x = 0; x < days.length; x++) {
var y = days[x];
var id = location + "_day_" + y;
$("#" + location).append("<div id='" + id + "'><h2>Day #" + y + "</h2></div>");
$.ajax
({
type: "GET",
url: jsonFile,
dataType: "json",
success: function(json) {
for (var i = 0; i < json.trips.length; i++) {
var name = json.trips[i].name;
var cost = json.trips[i].cost;
radioButton = "<label><input type='radio' name='day_" + y + "' />" + name + " - $" + cost + ".00</label><br>";
$("#" + id).append(radioButton);
}
}
});
var myID = id;
}
質問のタイトルを修正してください:技術のリストに質問は記載されていません! –
'$("# "+ id).append(radioButton)'では、このスコープに 'id'が存在しないという問題があります。 – Joe