问题 谷歌电子表格中的JSON数据


我经历了 这个小提琴 其中有一个带有json数据的三个下拉列表的样本。我有一个样本谷歌 电子表格在这里。现在可以将此电子表格数据呈现为以小提琴格式给出的示例。我知道我们可以将电子表格转换为json,

 var query = new google.visualization.Query('http://spreadsheets.google.com/tq?key=0AozvCNI02VmpdDkwR3RETmczbTI4ZFJhTXJkZHlUbEE#gid=0');
 query.send(handleQueryResponse);
 }
 function handleQueryResponse(response) {
    data = response.getDataTable();
    }

但是使用这个下拉列表不起作用。


8068
2018-04-26 07:15


起源



答案:


我不确定你这样做的方式,但可以用不同的方式完成。请参见 这个小提琴 使用您的示例数据,以及下面的代码。

基本上,您使用以下HTML脚本标记从电子表格中调用JSON数据。

<script src="http://spreadsheets.google.com/feeds/list/0An1-zUNFyMVLdEFEdVV3N2h1SUJOdTdKQXBfbGpNTGc/1/public/values?alt=json-in-script&amp;callback=importGSS"></script>

请注意我正在链接到 复制 电子表格的发布要求

然后您可以使用以下脚本处理数据。

function importGSS(json){
    for(var i = 0; i < json.feed.entry.length; i++){
        var entry = json.feed.entry[i];
        $('#departments').append('<option>' + entry.gsx$subdivision.$t + '</option>');
        $('#subject').append('<option>' + entry.gsx$section.$t + '</option>');
        $('#services').append('<option>' + entry.gsx$station.$t + '</option>');
    }
}

您显然可以适应自己的需求。


14
2018-04-27 21:38



我需要类似的东西。但也希望下拉列表中的链接和唯一值。 - mpsbhat
我担心没有更详细的描述,我无法想象你所追求的是什么。我上面的代码非常简单,所以我希望它能帮助您实现目标 - dev
请走低谷 这个样本 在第一个下拉列表中选择IT时,它会在第二个下拉列表中显示其子项。同样,在选择会计时,会显示其子项等。但在该样本中,数据是硬编码的json。但是,是否可以从Google电子表格数据中创建相同类型的下拉菜单? - mpsbhat
我明白你的意思,但我没有时间写你需要的确切代码。为了得到你想要的东西,我会通过附加你的第一个下拉选项来做到这一点,只有它尚不存在。然后将第二个下拉选项附加到关联的第一个下拉类的类,并且第三个选项具有相关的第二个下拉选项的类。然后将第二个和第三个下拉列表中的所有选项设置为隐藏。然后,当选择一个选项时,那些具有该选项类的选项将被设置为可见。希望有所帮助。 - dev
你救我的命,谢谢! - Igor Ladela


答案:


我不确定你这样做的方式,但可以用不同的方式完成。请参见 这个小提琴 使用您的示例数据,以及下面的代码。

基本上,您使用以下HTML脚本标记从电子表格中调用JSON数据。

<script src="http://spreadsheets.google.com/feeds/list/0An1-zUNFyMVLdEFEdVV3N2h1SUJOdTdKQXBfbGpNTGc/1/public/values?alt=json-in-script&amp;callback=importGSS"></script>

请注意我正在链接到 复制 电子表格的发布要求

然后您可以使用以下脚本处理数据。

function importGSS(json){
    for(var i = 0; i < json.feed.entry.length; i++){
        var entry = json.feed.entry[i];
        $('#departments').append('<option>' + entry.gsx$subdivision.$t + '</option>');
        $('#subject').append('<option>' + entry.gsx$section.$t + '</option>');
        $('#services').append('<option>' + entry.gsx$station.$t + '</option>');
    }
}

您显然可以适应自己的需求。


14
2018-04-27 21:38



我需要类似的东西。但也希望下拉列表中的链接和唯一值。 - mpsbhat
我担心没有更详细的描述,我无法想象你所追求的是什么。我上面的代码非常简单,所以我希望它能帮助您实现目标 - dev
请走低谷 这个样本 在第一个下拉列表中选择IT时,它会在第二个下拉列表中显示其子项。同样,在选择会计时,会显示其子项等。但在该样本中,数据是硬编码的json。但是,是否可以从Google电子表格数据中创建相同类型的下拉菜单? - mpsbhat
我明白你的意思,但我没有时间写你需要的确切代码。为了得到你想要的东西,我会通过附加你的第一个下拉选项来做到这一点,只有它尚不存在。然后将第二个下拉选项附加到关联的第一个下拉类的类,并且第三个选项具有相关的第二个下拉选项的类。然后将第二个和第三个下拉列表中的所有选项设置为隐藏。然后,当选择一个选项时,那些具有该选项类的选项将被设置为可见。希望有所帮助。 - dev
你救我的命,谢谢! - Igor Ladela