Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript进行谷歌电子表格搜索_Javascript_Jquery_Html_Google Sheets_Google Spreadsheet Api - Fatal编程技术网

使用javascript进行谷歌电子表格搜索

使用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

我正在尝试建立一个搜索选项,用户将输入他们的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 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中有些东西你必须使用。我不确定语法,你必须使用它并调试它,但这应该是一般的想法。嗨!如果你选中库特,为今后在堆栈溢出方面的努力而努力。-谢谢