JavaScript:如何在新选项()之后添加额外属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (35)

我有一段代码,根据其他条件,动态地向SELECT字段添加选项。看起来有点像这样:

if (chosen == "a_value") {
  selbox.options[selbox.options.length] = new Option('text_1','value_1');
  selbox.options[selbox.options.length] = new Option('text_2','value_2');
  selbox.options[selbox.options.length] = new Option('text_3','value_3');
}

我需要的是在包含特定值的新选项中添加一个额外的属性。在这种情况下,属性将被称为“discount”,并且值将是一个整数。稍后,我将读取属性值,并根据选项字段中的值处理它们。

因此,一旦脚本准备就绪,选项就会像这样;

<option value="value_1" discount="integer">text_1</option>

我如何在不使用JS框架的情况下做到这一点。

提问于
用户回答回答于

你可以这样做

var o1 = new Option("key","value");
selbox.options[selbox.options.length] = o1;
o1.setAttribute("key","value");
用户回答回答于

您可以将其合并成一行代码:

(selbox.options[selbox.options.length] = new Option("key","value")).setAttribute("key","value");

请注意,只有当您只需要添加一个属性时,这才能工作,否则您将需要一个临时变量。

扫码关注云+社区

领取腾讯云代金券