Javascript 单个下拉列表中的多个选择

Javascript 单个下拉列表中的多个选择,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我在reddit上发现这段代码运行得很好。无论如何,当我试图删除我用下拉列表完成的信息或修改某些内容时,会显示一个未定义的值,我无法删除它。我怎么能这么做 代码: 此外,当在我的手机上添加多个选项时,会显示一条“无效”消息。我怎样才能删除它?这是数据验证中的默认配置。 到目前为止,您的代码片段在我的代码片段上正常工作。(我似乎无法复制您的问题) 但对你来说,这不是(我不确定)。尝试包含e.value为空的条件(删除单元格值时会发生这种情况)。您的代码应该如下所示 代码: 注: 在比较条件中的

我在reddit上发现这段代码运行得很好。无论如何,当我试图删除我用下拉列表完成的信息或修改某些内容时,会显示一个未定义的值,我无法删除它。我怎么能这么做

代码:

此外,当在我的手机上添加多个选项时,会显示一条“无效”消息。我怎样才能删除它?这是数据验证中的默认配置。

到目前为止,您的代码片段在我的代码片段上正常工作。(我似乎无法复制您的问题)

但对你来说,这不是(我不确定)。尝试包含
e.value
为空的条件(删除单元格值时会发生这种情况)。您的代码应该如下所示

代码: 注:
  • 在比较条件中的值之前,请尝试记录这些值。的确,在
    =
    意义上,
    null
    undefined
    是相同的,因为它们都返回
    FALSE
    ,但它们有不同的类型。如果您使用了
    ==
    ,则它们不相等

  • 如果删除单元格(如下图所示),则
    oldValue
    value
    都将变为
    null

云日志(空白->是->否->删除单元格):

成功了!非常感谢你!另一个需要解决的小问题是:因为这是一个下拉列表,我给一个单元格添加了2个值。出现一条“无效错误消息”,我需要清理它。然而,床单并没有为我提供这个选项。有什么线索吗?嗨,尼古拉斯梅德韦迪,我真的无法想象你的问题。你可以尝试更新你的帖子并添加问题(你做了什么,发生了什么以及你的预期输出应该是什么),但我更希望你将其作为另一个问题发布,因为这实际上是一个不同的问题,与这个问题中的问题无关。但是如果你在这里编辑你的帖子并通知我,那么我可能会马上看到。谢谢!我已经编辑过了!哦,通过
数据验证
进行验证时,这很正常。这是因为它被视为无效数据,因为它不是原始项目列表中的选项。忽略这个警告,它不会改变值,也不会做任何坏事。只是向您显示“显示”选项不在原始项目列表中@尼古拉斯·梅德韦杰夫:我知道,但为了保持床单干净,我打算避免这样做。无论如何谢谢你!
function onEdit(e){
  if(e.range.columnStart != 6 || e.oldValue == undefined) return;
  e.range.setValue(e.oldValue+" | "+e.value);
}
function onEdit(e){
  if(e.range.columnStart != 6 || e.oldValue == null || e.value == null) return;
  e.range.setValue(e.oldValue+" | "+e.value);
}