2013-03-07 3 views
1

Я пытаюсь сделать цикл из листа Google, из которого я выхожу из него с a0, a1, a2 и так далее. Я могу вручную настроить переменную, но я не могу получить правильный цикл.Петля из Листа Google

google.load('visualization', '1', { 
    packages: ['gauge'] 
}); 
google.setOnLoadCallback(queryValue); 

function queryValue() { 
    var query = new google.visualization.Query('https://spreadsheets.google.com/spreadsheet/tq?range=B22:B37&key=0AhCv9Xu_eRnSdFNhSzNQUFd3b1ZfRHgtQURINFpzeGc&gid=7'); 
    query.send(function (response) { 
     if (response.isError()) { 
      alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); 
      return; 
     } 
     var data = response.getDataTable(); 

     //date label loop 
     for (var i = 0; i <= 15; i++) { 
      document.getElementById('b' + (i + 22)).innerHTML = data.getValue(i, 0); 
      console.log("i =" + b22) 
     } 

    }); 
    queryValue1() 
} 

function queryValue1() { 
    var query = new google.visualization.Query('https://spreadsheets.google.com/spreadsheet/tq?range=A22:A37&key=0AhCv9Xu_eRnSdFNhSzNQUFd3b1ZfRHgtQURINFpzeGc&gid=7'); 
    query.send(function (response) { 
     if (response.isError()) { 
      alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); 
      return; 
     } 
     var data1 = response.getDataTable(); 
     var a1 = data1.getValue(0, 0); 
     var a2 = data1.getValue(1, 0); 
     var a3 = data1.getValue(2, 0); 
     var a4 = data1.getValue(3, 0); 
     var a5 = data1.getValue(4, 0); 
     var a6 = data1.getValue(5, 0); 
     var a7 = data1.getValue(6, 0); 
     var a8 = data1.getValue(7, 0); 
     var a9 = data1.getValue(8, 0); 
     var a10 = data1.getValue(9, 0); 
     var a11 = data1.getValue(10, 0); 
     var a12 = data1.getValue(11, 0); 
     var a13 = data1.getValue(12, 0); 
     var a14 = data1.getValue(13, 0); 
     var a15 = data1.getValue(14, 0); 
     var a16 = data1.getValue(15, 0); 

     queryValue3(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16); 
    }); 


} 

function queryValue3(met1, met2, met3, met4, met5, met6, met7, met8, met9, met10, met11, met12, met13, met14, met15, met16) { 
    var query3 = new google.visualization.Query('https://spreadsheets.google.com/spreadsheet/tq?range=B2:B17&key=0AhCv9Xu_eRnSdFNhSzNQUFd3b1ZfRHgtQURINFpzeGc&gid=10'); 
    query3.send(function (response) { 
     if (response.isError()) { 
      alert('Error in query3: ' + response.getMessage() + ' ' + response.getDetailedMessage()); 
      return; 
     } 

     var data3 = response.getDataTable(); 

     var m1 = data3.getValue(0, 0); 
     var m2 = data3.getValue(1, 0); 
     var m3 = data3.getValue(2, 0); 
     var m4 = data3.getValue(3, 0); 
     var m5 = data3.getValue(4, 0); 
     var m6 = data3.getValue(5, 0); 
     var m7 = data3.getValue(6, 0); 
     var m8 = data3.getValue(7, 0); 
     var m9 = data3.getValue(8, 0); 
     var m10 = data3.getValue(9, 0); 
     var m11 = data3.getValue(10, 0); 
     var m12 = data3.getValue(11, 0); 
     var m13 = data3.getValue(12, 0); 
     var m14 = data3.getValue(13, 0); 
     var m15 = data3.getValue(14, 0); 
     var m16 = data3.getValue(15, 0); 

     var red22 = "<span style='color:#ff0000'> "; 
     var yellow22 = "<span style='color:#FF9900'> "; 
     var green22 = "<span style='color:#009900'> "; 

Этот код запрашивает лист Google и привлекает 16 датчиков на странице динамически изменяющегося месяц был записан данные и ярлыки на датчиках изменить цвета в соответствии с цветом на шкале, красный, желтый или зеленый , This is the page

Как видите, у меня есть место для улучшения. Мне удалось заставить все это работать, но я короткую пару петель.

ответ

0

Я думаю, было бы гораздо эффективнее вернуть массив, а не переменную.

Что-то вроде этого:

var a = []; 
for (var z = 0; z <= 15; z++) { 
    a[z] = data1.getValue(z, 0); 
} 

Чтобы получить значение a0, a1, a2, и т.д. Вы бы вместо того, чтобы просто использовать [0], а [1], а [2] и т.д.

+0

Как передать значения следующей функции? Я получаю ошибку неожиданного идентификатора в строке queryValue. –

+0

Хорошо, давайте сделаем шаг назад. Что вы пытаетесь выполнить с данными? Что происходит с переменными A0-A15 после их создания? Как только мы это выясним, мы можем перейти к тому, как это сделать. – jmac

+0

Я разместил еще код и ссылку на страницу. Все работает, но мне не хватает двух петель. Я пытался заставить их работать безрезультатно. –