首页 > 解决方案 > 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); 它显示了;

冒犯选择

标签: jqueryajaxselectappendcoldfusion-2016

解决方案


因此,进一步深入研究代码,我为 CFC 中的结果集留下了 2 个 serializeJSON() 用于这个和另一个选择的人口;

<cfset var Reports = structNew() />
<cfset Reports = serializeJSON(qReports) />
<cfreturn Reports />

这是 wddx'ing 创建初始 [object Object] 的包。所以在未来,在你错之前确保你是对的。=]


推荐阅读