我终于用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个不同的名字.谢谢。
要在源表的一列中从姓名表中的列表中建议自动完整的名字,您需要创建一个 "自动完整的名字"。数据验证.这可以通过UI和Apps Script两种方式实现。
这里的重点是,当你创建这个数据验证时,你不希望启用下拉列表(因为你的功能只是自动完成名字),你也不希望每次输入一个不在你的名字列表中的名字时,UI都会发出警告。
下面这段代码将创建您所需的数据验证。它的注释解释了它如何工作。要了解更多关于如何在电子表格中设置数据验证的信息,请查看以下文档 数据验证类 以及本实施例中使用的方法。newDataValidation, requireValueInRange 和 setAllowInvalid.
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);
}
创建一个数据验证(在你的工作表中进入 数据->数据验证)为您的 Source!B:B
符合 列表从一个范围 范围为 Names!A2:Amax
与 在单元格中显示下拉列表 不加选择 而在 无效数据 拒绝输入.
我希望这对你有帮助。如果你还需要什么,或者你有什么不明白的地方,请告诉我 :)