選択したドロップダウンに応じて、ColdFusion 10 を使用して AJAX 経由でデータを取得しています。
<script>
function loadQuery() {
var assign = $("#fcbCountry").val();
$.ajax({
type: 'get',
url: 'http://127.0.0.1/WMT/model/getCandidate.cfc',
data: {
method: 'getRegions',
country: assign
},
dataType: 'json',
async: false,
success: function (result) {
var PosVar = result.DATA[0][1];
alert(PosVar);
}
});
};
</script>
の値が#fcbCountry
CFC に渡され、JSON がページに返されます。アラート機能を使用してデータを表示することで、これを確認しています。
データは、ColdFusion JSON 形式と呼ばれるもので返されます。
データ:
{"COLUMNS":["STRVALUE","STRDISPLAY"],"DATA":[[0,null],[1,"Central"],[2,"Central-Detailee"],[3,"East"],[4,"North"],[5,"South"],[6,"Southwest"],[8,"West"]]}
JSON の結果をループして、フォーム内の別の選択ボックスのドロップダウン オプションを作成したいと思います。
例をつなぎ合わせようとしましたが、これを試してみると:
<script>
function loadQuery() {
var assign = $("#fcbCountry").val();
$.ajax({
type: 'get',
url: 'http://127.0.0.1/WMT/model/getCandidate.cfc',
data: {
method: 'getRegions',
country: assign
},
dataType: 'json',
async: false,
success: function (result) {
var PosVar = result.DATA[0][1];
alert(PosVar);
}
});
var options = $("#fcbRegion");
$.each(result, function () {
options.append($("<option />").val(this[index]]).text(this.STRDISPLAY));
});
}
</script>
loadQuery 関数が定義されていないというエラーが表示されます。