javascript - 从 Google 电子表格的下拉列表中选择多个值并按字母顺序打印
问题描述
我正在关注此链接Selecting Multiple Values from a Dropdown List in Google Spreadsheet,它运行良好。例如,如果我有三个值的下拉菜单,如“红色、黑色、绿色”,并且我选择“红色和黑色”,它会完美地打印红色和黑色,现在如果我选择“黑色和红色”,它会分别打印。现在的问题是,如果我在电子表格中过滤此列,这些“红色和黑色”、“黑色和红色”将被视为没有意义的单独值,因为两者都是相同的。如果我以任何方式选择它应该按字母顺序打印,怎么办?有什么线索吗?谢谢。
解决方案
这是可能的解决方案。
您可以将此函数添加到multi-select.gs
文件末尾:
function sort_contents() {
var range = SpreadsheetApp.getActiveRange();
var values = range.getValues();
var sorted_values = values.map(row => [row[0].split(',').sort().join(',')]);
range.setValues(sorted_values);
}
将此函数添加到dialog.html
文件中,在函数之后function reset() {...}
:
function sort_contents() {
google.script.run.withSuccessHandler(x=>{}).sort_contents()
}
并在中添加一个按钮dialog.html
:
<input type="button" value="Sort" onclick="sort_contents()" />
之后,您将拥有“排序”按钮,该按钮将按字母顺序对所选单元格(和单元格,您可以选择多个单元格)的内容进行排序。因此,您可以随时将“红、黑”分类为“黑、红”。
推荐阅读
- php - 从下拉简单的 html dom 中抓取数据
- go - 按行值分组 [][] 字符串(二维切片)
- sql - How to export only data from a database in SQL DEVELOPER
- xpath - Faster XPath expressions to execute queries from multiple XMLs
- javascript - SVG 上的旋转变换适用于除 IE 之外的所有浏览器 - https://codepen.io/linamary/pen/zgWvoN
- javascript - NodeJS用另一个值替换数组中的相似值
- python - Assign values to a pandas dataframe column filtered by index and column
- javascript - React - 将计算样式传递给 div 的语法
- tensorflow - tf.keras.layers.BatchNormalization 不接受 float64 作为输入类型
- python - 防止Python中某些模块之间的依赖关系(静态分析)