2015-08-14 84 views
0

本质上,我返回一个值为“”或“X”的数组。当它的“X”,我想元素中显示(这是在页面加载),并且当它““(空白)希望我给予的元素在HTML中设置id的数组中的style.display - GoogleScripts/JavaScript

style.display = 'none'; 

这里是我的脚本到目前为止:

<script type="text/javascript"> 

function onSuccess(id) { 
    for(var i = 0; i < 100; i++) { 
    if (id[i] == '') { 
     var td_mod = document.getElementById(i); 
     td_mod.style.display = 'none'; 
     } 
    } 
} 
google.script.run.withSuccessHandler(onSuccess).returnAch(); 
</script> 

这里是函数“returnAch();”

function returnAch() { 
//return the ARRAY of all 'X' 

    var sheet = SpreadsheetApp.getActive().getSheetByName('Achievements'); 
    var value = sheet.getRange("E1:E100").getValues(); 

//Logger.log(value + "<--- Values of 'x'"); 

    return value; 
} 

我测试过“returnAch()”,它记录值的整个数组 - 我只是不确定这我搞乱了HTML的一部分。

感谢您的帮助!

+0

什么是你的元素显示/隐藏? – archlyfe

+0

相似图片:​​ - 我有一些硬编写的代码进行了测试,我可以隐藏/显示您是否尝试过在你的onSuccess功能记录中间值 – matt3948

+0

的td元素? (就像传入的id变量一样,你有多少次碰到id [i] ==''“的情况,td_mod元素本身)。还有可能其他一些代码(电子表格代码,也许是?)正在撤消你的之后工作 - 您可以在代码完成后(但在onSuccess返回之前)尝试抛出错误或显示警报,以查看是否属于这种情况。 – ozangds

回答

0

好了,所以我想通了,我并没有调用GoogleScript正常工作,

的HTML/JavaScript的:

<script type="text/javascript"> 

function onSuccess(id) { 
    for(var i = 1; i < 100; i++) { 
    if (id[i] == '') { 
     var td_mod = document.getElementById(i-1); 
     td_mod.style.display = 'none'; 
     console.log(td_mod); 
     } 
    } 
} 
google.script.run.withSuccessHandler(onSuccess).returnAch(); 
</script> 

谷歌脚本:

function returnAch() { 
//on call return if there is an x at pos "loc" 
    //return the ARRAY of all 'X' 
    var value =  SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName("Achievements").getRange("E1:E100").getValues(); 
    //Logger.log(value + "<--- Values of 'x'"); 
    return value; 
}