JSON呼び出しを使用して、渡されたコースコードに基づいて利用可能な参加者の場所のリストを取得しています。その結果は、ページに動的に追加された選択項目に入力するために使用されます。応答は正しく取得されていますが、ページに追加するためのコードが機能していません。
$("#venueCourses").live("change",function (event) {
var cID = $("#venueCourses").val().split("|");
-- This call works and provides a list of dates for the course passed in
$.post("includes/ajaxdates.asp",{courseID:cID[0], lessonType:cID[1], retType:"dl"},function(result){
-- The data is displayed correctly
$("#cdisplay").html(result);
});
-- This is the JSON Call that retrieves data
$.getJSON('includes/ajaxdates.asp',{courseID:cID[0], lessonType:cID[1], retType:"lt", ajax: 'true'}, function(data) {
-- NOTHING IN HERE SEEMS TO WORK
var items = [];
$.each(data, function(key, val) {
items.push('<option value="' + key + '">' + val + '</option>');
});
$('<select/>', {
'id': 'participantType',
html: items.join('')
}).appendTo('#partType');
});
});
JSON呼び出しは、このURLを提供して、http://www.surreyjive.co.uk/includes/ajaxdates.asp?courseID = ES-1-2013&lessonType = Intermediates&retType = lt&ajax=trueから応答を取得し ます。
そして、これはJSON応答です{'0':'選択してください'、'Lady':'Individual Lady'、'Couple':'Couple'}
上記で機能していないコードは、実際には次のコードの本体でも機能していませんでした。
var options = [];
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
alert(j);
$("#participantType").html(options);
これを修正するための助けをいただければ幸いです。
グラハムに感謝します