2013-03-07 5 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'> "; 

이 코드는 구글 시트를 쿼리 동적 데이터가 기록 된 달을 변경 한 페이지에 16 게이지 무 게이지의 라벨, 빨간색, 노란색 또는 녹색 게이지의 색상에 맞게 색상을 변경 . This is the page

알다시피 개선 할 여지가 있습니다. 나는 모든 것을 작동시킬 수 있었지만, 나는 몇 개의 루프를 짧게한다.

답변

0

변수가 아니라 배열을 반환하는 것이 훨씬 더 효율적이라고 생각합니다. 이 같은

뭔가 :

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

등 대신 단지 [0], A [1], A [2] 등을 사용, A2, A1, A0의 값을 얻으려면

+0

어떻게 값을 다음 함수로 전달합니까? queryValue 줄에 예기치 않은 식별자 오류가 발생합니다. –

+0

좋아, 한 걸음 뒤로 물러서 라. 데이터로 무엇을하려합니까? 변수 A0 ~ A15를 만든 후에는 어떻게됩니까? 일단 우리가 그걸 알아 내면 우리는 최선을 다할 수있는 방법으로 나아갈 수 있습니다. – jmac

+0

더 많은 코드와 링크를 페이지에 게시했습니다. 그것은 모두 작동하지만 두 개의 루프가 누락되었습니다. 나는 그들에게 아무 소용이 일하도록 노력했다. –

관련 문제