使用javascript进行谷歌电子表格搜索
我正在尝试建立一个搜索选项,用户将输入他们的ID,他们将看到相应ID的结果,该ID存储在google电子表格中 类似用户将输入: 他们会看到结果:Nitu 他们会看到结果:迪彭使用javascript进行谷歌电子表格搜索,javascript,jquery,html,google-sheets,google-spreadsheet-api,Javascript,Jquery,Html,Google Sheets,Google Spreadsheet Api,我正在尝试建立一个搜索选项,用户将输入他们的ID,他们将看到相应ID的结果,该ID存储在google电子表格中 类似用户将输入: 他们会看到结果:Nitu 他们会看到结果:迪彭 函数displayContent(json){ var字符串=”; var len=json.feed.entry.length; for(var i=0;i而不是执行for循环,只用于过滤相应的ID。对于exmaple: function displayContent(json) { var outpu
函数displayContent(json){
var字符串=”;
var len=json.feed.entry.length;
for(var i=0;i而不是执行for循环,只用于过滤相应的ID。对于exmaple:
function displayContent(json) {
var output = json.feed.entry.filter(function(name){
return name.gsx$id.$t === '2'
})
$('body').append(" <p>" + output[0].gsx$name.$t + "</p>");
函数显示内容(json){
var output=json.feed.entry.filter(函数(名称){
返回名称.gsx$id.$t=='2'
})
$('body')。追加(“”+输出[0]。gsx$name。$t+””;
这是已编辑的版本,只需将“2”替换为您的id或输入值getter即可。请注意,您需要以类似数组的语法引用输出。您可以用于google电子表格API
因此,如果通过适当的结构化查询发出GET
请求,您将只获得相关数据。在您的情况下,添加sq=id==5
作为查询参数
因此,与其让整个数据加载并在WADS后解析,不如创建一个函数,该函数将发出适当的get
请求,并只获取所需的数据
var fetchName = function(ID, workSheetID){
var url = 'https://spreadsheets.google.com/feeds/list/'+workSheetID+'/od6/public/values?sq=id='+ID+'&alt=json-in-script&callback=?';
$.get( url, function( data ) {
//Parse and Do Your Stuff Here
});
}
希望这能有所帮助。干杯!!仔细对照您的代码和提供的答案
1) 您的过滤器:-->return element.gsx$id.$t==2
比较可能不会返回预期结果
-->返回名称.gsx$id.$t=='2'
2) 如果比较产生任何结果,则返回的数据将位于变量“name”中。var name位于数组中。您将使用索引访问数组元素。因此,考虑到这一点,您应该将代码更改为:
var test=name[0].gsx$id.$t;
在这里,您可以正确访问返回的数据
3) 始终确保有要访问的数据。如果您尝试访问数组,则数组不得为空。因此您只需要用户名?我希望功能如下:用户将输入:1,他们将看到结果:Nitu,如果他们输入5,他们将看到结果:Dipon。是的,我想要特定的名称ID。请查看图片。删除“+ID+”这是您的目的吗?不。我可以使用上面的代码片段从我的google工作表中获取数据。我是从google获得的。但我不想一次获取所有数据。我只需要基于ID搜索的特定数据。请阅读我的问题:)它不起作用:(var name=json.feed.entry.filter)(函数(元素){return element.gsx$id.$t==2})var test=name.gsx$name.$t;
它显示了一个错误,无法读取UndefinedDisplayContents的属性“$t”。听起来谷歌电子表格api中有些东西你必须使用。我不确定语法,你必须使用它并调试它,但这应该是一般的想法。嗨!如果你选中库特,为今后在堆栈溢出方面的努力而努力。-谢谢