Jquery 不要用自己的方式格式化数据。不要依赖CF如何为您构建json结构。如果CF更改了查询中json结构的构建方式,该怎么办?未来证明总是一个好主意。谢谢斯科特!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎
Jquery 不要用自己的方式格式化数据。不要依赖CF如何为您构建json结构。如果CF更改了查询中json结构的构建方式,该怎么办?未来证明总是一个好主意。谢谢斯科特!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎,jquery,arrays,json,coldfusion,Jquery,Arrays,Json,Coldfusion,不要用自己的方式格式化数据。不要依赖CF如何为您构建json结构。如果CF更改了查询中json结构的构建方式,该怎么办?未来证明总是一个好主意。谢谢斯科特!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎么做呢?你可以在列列表上循环以动态创建结构。非常感谢。我本来会投票给它答案的,但鉴于最初的问题,我不得不投票给另一个。但作为一个整体解决方案,您的解决方案真是太棒了。谢谢Scott!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是
不要用自己的方式格式化数据。不要依赖CF如何为您构建json结构。如果CF更改了查询中json结构的构建方式,该怎么办?未来证明总是一个好主意。谢谢斯科特!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎么做呢?你可以在列列表上循环以动态创建结构。非常感谢。我本来会投票给它答案的,但鉴于最初的问题,我不得不投票给另一个。但作为一个整体解决方案,您的解决方案真是太棒了。谢谢Scott!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎么做呢?你可以在列列表上循环以动态创建结构。非常感谢。我本来会投票给它答案的,但鉴于最初的问题,我不得不投票给另一个。但作为一个整体解决方案,您的解决方案真是太棒了。谢谢Scott!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎么做呢?你可以在列列表上循环以动态创建结构。非常感谢。我本来会投票给它答案的,但鉴于最初的问题,我不得不投票给另一个。但作为一个整体解决方案,您的解决方案真是太棒了。谢谢Scott!我完全理解你为什么这么做,我也尝试了一下,效果很好。。。。但是当一个查询最多可以包含50列时,应该怎么做呢?你可以在列列表上循环以动态创建结构。非常感谢。我本来会投票给它答案的,但鉴于最初的问题,我不得不投票给另一个。但作为一个整体解决方案,您的解决方案真是太棒了。
{
"Modules": {
"COLUMNS": [
"MODULECODE",
"MODULETITLE"
],
"DATA": [
[
"A001",
"The Middle Ages"
],
[
"M001",
"Civil Liberties"
],
[
"H001",
"Project Preparation"
]
]
},
"Courses": {
"COLUMNS": [
"COURSETITLE",
"COURSECODE"
],
"DATA": [
[
"Marketing",
"00007001"
],
[
"Fashion and Textile Buying Management",
"00006002"
]
]
}
}
$(document).ready(function() {
$('#UserCode').blur(function() {
$.ajax({
type: 'get',
url: 'mydata.cfc',
data: {method:'getData', UserCode:$(this).val()},
dataType: 'json',
success: function(result){
$.each(result, function(index, valueA){
$.each(valueA, function(index, valueB){
// Trying to append to the #Courses <select> element
$('#Courses').append('<option value="'+valueB[1]+'">'+valueB[2]+' ('+valueB[1]+')</option>');
});
});
}
});
});
});
...
success: function(result){
for(var i=0;i<result.Courses.Data.length;i++)
$('#Courses').append('<option value="'+result.Courses.Data[i][1]+'">'+result.Courses.Data[i][2]+'('+result.Courses.Data[i][1]+')</option>');
for(var i=0;i<result.Modules.Data.length;i++)
$('#Modules').append('<option value="'+result.Modules.Data[i][1]+'">'+result.Modules.Data[i][2]+'('+result.Modules.Data[i][1]+')</option>');
});
<cffunction name="GetStuff" >
<cfset var ret = {} />
<!--- code for queries here --->
<cfset var qry1Data = [] />
<cfloop query="query1">
<cfset var item = {"modulecode" = query1.modulecode, "moduletitle" = query1.moduleTitle} />
<cfset arrayAppend( qry1Data, item ) />
</cfloop>
<cfset ret["modules"] = qry1Data/>
<cfset var qry2Data = [] />
<cfloop query="query2">
<cfset var item = {"coursecode" = query1.coursecode, "coursetitle" = query1.courseTitle} />
<cfset arrayAppend( qry2Data, item ) />
</cfloop>
<cfset ret["courses"] = qry2Data />
<cfreturn ret />
</cffunction>
$(document).ready(function() {
$('#UserCode').blur(function() {
$.ajax({
type: 'get',
url: 'mydata.cfc',
data: {method:'getData', UserCode:$(this).val(), returnFormat : 'JSON'},
dataType: 'json',
success: function(result){
$.each(result.modules, function( index, val ) ){
$("#Modules").append('<option value="' + val.modulecode + '">' + val.moduletitle + ' (' + val.modulecode + ')</option>');
$("#Courses").append('<option value="' + val.coursecode + '">' + val.coursetitle + ' (' + val.coursecode + ')</option>');
}
}
});
});
$.each(result.modules, function( index, val ){
});