Javascript 计算JSON动态名称

Javascript 计算JSON动态名称,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我想显示一个数据库值并构建一个引导网格,构建引导网格很容易,但是显示数据却不那么容易 通常我会像这样调用循环中我想要的项x[I].DIAG。但是,我正在构建一个动态变量名“s”:var s=I*cNum+j,这样我就可以动态调用该项x[s].DIAG。当我使用console.log显示值时,我会看到所需的值。但是,当我尝试输出数据时,它会中断。如有任何建议,将不胜感激 JSON示例: 0: Object DIAG:"Anaplastic" DIAGID:13 function lo

我想显示一个数据库值并构建一个引导网格,构建引导网格很容易,但是显示数据却不那么容易

通常我会像这样调用循环中我想要的项
x[I].DIAG。但是,我正在构建一个动态变量名“s”:
var s=I*cNum+j
,这样我就可以动态调用该项
x[s].DIAG
。当我使用
console.log
显示值时,我会看到所需的值。但是,当我尝试输出数据时,它会中断。如有任何建议,将不胜感激

JSON示例:

0: Object
   DIAG:"Anaplastic"
   DIAGID:13
function loadDiag(){
    $.ajax({type: "GET"
          , dataType: "json"
          , url: "CFCs/lookUps.cfc"
          , data: {method: "Diag_rlu"}
          , success: function(data){
                 var x = data.items;
                 console.log(x)
                 var rNum = x.length / 6 //number of rows
                 var cNum = 6 // number of colums
                 var str = '';
                 for (var i = 0; i < rNum; i++) {
                     str += '<div class="row" id="'+i+'">';
                     for (var j = 0; j < cNum; j++) {
                         var s = i*cNum+j
                         if(s <= x.length){
                            str += '<div class="col-xs-2">'+x[s].DIAG+'</div>';
                         } else{
                            str += '<div class="col-xs-2"></div>';
                         }
                    }

                    str += '</div>';
                 }
                 $('.diagnosis').html(str);
              }
          });
       }
代码:

0: Object
   DIAG:"Anaplastic"
   DIAGID:13
function loadDiag(){
    $.ajax({type: "GET"
          , dataType: "json"
          , url: "CFCs/lookUps.cfc"
          , data: {method: "Diag_rlu"}
          , success: function(data){
                 var x = data.items;
                 console.log(x)
                 var rNum = x.length / 6 //number of rows
                 var cNum = 6 // number of colums
                 var str = '';
                 for (var i = 0; i < rNum; i++) {
                     str += '<div class="row" id="'+i+'">';
                     for (var j = 0; j < cNum; j++) {
                         var s = i*cNum+j
                         if(s <= x.length){
                            str += '<div class="col-xs-2">'+x[s].DIAG+'</div>';
                         } else{
                            str += '<div class="col-xs-2"></div>';
                         }
                    }

                    str += '</div>';
                 }
                 $('.diagnosis').html(str);
              }
          });
       }
函数loadDiag(){
$.ajax({type:“GET”
,数据类型:“json”
,网址:“CFCs/lookUps.cfc”
,数据:{方法:“诊断”}
,成功:函数(数据){
var x=数据项;
console.log(x)
var rNum=x.length/6//行数
var cNum=6//柱数
var-str='';
对于(变量i=0;iif(s)的短语如“it breaks”非常模糊。代码的实际结果是什么(错误等)这和你期望的有什么不同?还有,为什么是CF标签?这似乎是一个javascript问题。谢谢你纠正我的帖子;你也对了,这是一个javascript问题,它已经被纠正了。再次感谢Leigh。对不起,我没有关于这个问题的答案。但是,我怀疑你是否可以详细说明你得到的错误(还有,
data.items
到底包含了什么,因为它听起来与JSON示例不同)我打赌其他人会这样做。我实际上可以:Uncaught TypeError:无法读取未定义的属性“DIAG”。我确实相信javascript没有计算变量“s”。奇怪的是,当我控制台.log(x[s].DIAG时)它显示了我不想在HTML中显示的数据。因此,首先,如果(s
--数组是基于0的,那么它不应该是
,所以您的索引永远不应该等于长度。也许只是一个调用发出了错误?