如何用jQuery从标签页中抓取名称,并将名称数据从主机表发送到名称表?

问题描述 投票:0回答:1

我终于用jQuery获得了一个较短的自动完成功能。现在,我需要:1.从 "Name "标签页中获取名称,以实现自动完成功能& 2.一旦选择了 "Name",就从主机表中发送数据到Name的表。htmlcss的页面就完成了。

我上网查了好几天&也没发现有谁做过。我是个jQueryJavascript新手,所以请大家在提供建议的同时记住这一点。

<script>
  $( function() {
    var availableTags = [
      "Name 1",
      "Name 2",
      "Name 3"
    ];
    $( "#tags" ).autocomplete({
      source: availableTags
    });
  } );
  </script>

编辑:选择好名字后,将相应的数据发送到Name的sheet.example中。Date, Client, Time, Name 1. 如果选择了名称1,则将日期、客户端、&时间从主机表发送到名称1的表。如果选择了名称2,则将其数据发送到名称2。以此类推。我需要它为大约25个不同的名字.谢谢。

javascript jquery google-apps-script autocomplete send
1个回答
0
投票

解决方法

要在源表的一列中从姓名表中的列表中建议自动完整的名字,您需要创建一个 "自动完整的名字"。数据验证.这可以通过UI和Apps Script两种方式实现。

这里的重点是,当你创建这个数据验证时,你不希望启用下拉列表(因为你的功能只是自动完成名字),你也不希望每次输入一个不在你的名字列表中的名字时,UI都会发出警告。

1. 使用应用脚本

下面这段代码将创建您所需的数据验证。它的注释解释了它如何工作。要了解更多关于如何在电子表格中设置数据验证的信息,请查看以下文档 数据验证类 以及本实施例中使用的方法。newDataValidation, requireValueInRangesetAllowInvalid.

function myFunction() {
  // Get source range where we want the auto complete text
  var myRange = SpreadsheetApp.getActive().getSheetByName('Source').getRange('B:B');
  
  // Get the range of the list of names we want to auto complete
  var range = SpreadsheetApp.getActive().getSheetByName('Name').getRange('A1:A5');
  
  // Create a data validation rule with the dropdown list disables (this will allow to only show the name suggestions
  // and set allow invalid false to avoid the ui to pop a message every time you enter a value not in the list
  var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range, false).setAllowInvalid(false).build();
  
  // Set the data validation to our range where we want the auto complete function
  myRange.setDataValidation(rule);
}

2. 使用用户界面

创建一个数据验证(在你的工作表中进入 数据->数据验证)为您的 Source!B:B 符合 列表从一个范围 范围为 Names!A2:Amax在单元格中显示下拉列表 不加选择 而在 无效数据 拒绝输入.

我希望这对你有帮助。如果你还需要什么,或者你有什么不明白的地方,请告诉我 :)

© www.soinside.com 2019 - 2024. All rights reserved.