jquery - jQuery 填充选择列表将 [object Object] 作为第一个条目
问题描述
我收到了来自 jQuery 的异常响应来填充选择列表。首先,这里是ajax调用;
loadShowAllReports = function() {
$.ajax({
url: "cfc/Reports.cfc"
, type: "get"
, dataType: "json"
, data: {
method: "jGetShowAll"
},
success: function(response) {
console.log(response);
$.each(response.DATA, function(i, row) {
// get value of first row as description;
var val = row[0];
var descr = row[1]
// append new options
$("##cboShowAllReports").append($("<option/>", {
value: val,
text: descr
}));
// set it while firing, so its available when done
// 1 = default 'Active' to start with
});
$('##cboShowAllReports option:selected').val(getValue('rShowAll'));
loadReports($(this).find(':selected').val());
loadReportsActive();
loadReportTypes();
},
error: function(msg) {
console.log(msg);
}
});
这应该返回 3 个简单的值对 Active、InActive 和 All,但第一个值是 [object Object]。我在此页面上还有其他几个填充的下拉列表,但其中两个是使用此 [object Object] 创建的。getValue() 是一个coldfusion sessionMgr.cfc,它获取和设置会话变量。
我认为它正在填充 [COLUMNS] 数据,直到我转储到 console.log 并且数组看起来很好。我不确定这是做什么的,有什么帮助吗?我已经为此奋斗了好几天,并且已经没有想法了。
所以我添加了 console.log('on population: ' + var); 它显示了;
解决方案
因此,进一步深入研究代码,我为 CFC 中的结果集留下了 2 个 serializeJSON() 用于这个和另一个选择的人口;
<cfset var Reports = structNew() />
<cfset Reports = serializeJSON(qReports) />
<cfreturn Reports />
这是 wddx'ing 创建初始 [object Object] 的包。所以在未来,在你错之前确保你是对的。=]