谷歌应用程序脚本搜索UI下一个和上一个功能

Google App Script Search UI Next and Previous Function

本文关键字:上一个 功能 下一个 UI 应用程序 脚本 搜索 谷歌      更新时间:2024-04-12

上次搜索上一个函数时,Previous函数出现错误。这一切都在起作用,但当我进入上一个按钮的最后一次搜索时。它显示错误。它应该返回"不匹配",就像你使用下一个按钮搜索最后一个数据时一样。

    `function next(eventInfo){
     var app = UiApp.getActiveApplication();
     var row=ss.getActiveRange().getRowIndex();    
     var lastrow = ss.getLastRow();
      var start = Number(eventInfo.parameter.hidden)+1;
    var hidden = app.getElementById("hidden");                  
   var data = ss.getRange(2,1,lastrow,6).getValues();// get the 3 columns of data
       for(nn=start;nn<data.length;++nn){ ;// iterate trough
         if(data[nn].toString().toLowerCase().match(item.toString())==item.toString()&&item!='') {;// if a match is found in one of the 3 fields, break the loop and show results
  f1box.setText(data[nn][2]);         
  f2box.setText(data[nn][3]);   
  f3box.setText(data[nn][4]); 
  f4box.setText(data[nn][5]); 
         app.getElementById("previd").setEnabled(true).setText("Previous");                                                                                                
      app.getElementById("nextid").setEnabled(true).setText("Next");                                                                                                
      app.getElementById("txbid").setEnabled(true).setText("Search");                                                                                            
           ss.getRange(nn+2,2).activate();
            lbl.setText("found from"+data[nn][0]+"-"+data[nn][1]+", click Next").setEnabled(true);
          hidden.setValue(nn.toString())  
          break;}}
  return app;
}

function previous(eventInfo){
 var app = UiApp.getActiveApplication();
 var row=ss.getActiveRange().getRowIndex();    
 var lastrow = ss.getLastRow();`           
var start = Number(eventInfo.parameter.hidden)-1;
        var hidden = app.getElementById("hidden");                  
       var data = ss.getRange(2,1,lastrow,6).getValues();// get the 3 columns of data
           for(nn=start;nn<data.length;--nn){ ;// iterate trough
             if(data[nn].toString().toLowerCase().match(item.toString())==item.toString()&&item!='') {;// if a match is found in one of the 3 fields, break the loop and show results
      f1box.setText(data[nn][2]);         
      f2box.setText(data[nn][3]);   
      f3box.setText(data[nn][4]); 
      f4box.setText(data[nn][5]); 
             app.getElementById("previd").setEnabled(true).setText("Previous");                                                                                                
          app.getElementById("nextid").setEnabled(true).setText("Next");                                                                                                
          app.getElementById("txbid").setEnabled(true).setText("Search");                                                                                            
               ss.getRange(nn+2,2).activate();
                lbl.setText("found from"+data[nn][0]+"-"+data[nn][1]+", click Next").setEnabled(true);
              hidden.setValue(nn.toString())  
              break;}}
return app;
}

尝试使用"getNextSibling()"answers"getPreviousSibling()",如果同级元素具有相同的父元素并位于当前元素之前,则这些方法将检索同级元素。