在选择框中快速选择整个optgroup的简便方法

blu*_*lub 5 html javascript optgroup

我有一个选择框,我可以在其中选择多个选项.在选择框中有多个optgroups.有没有一种简单的方法可以在javascript中一次选择整个optgroup?

Bra*_*vin 4

我建议使用 jQuery(或其他框架)来快速处理 DOM 选择。给每个 optgroup 一个类,以便更容易获取它。

$("optgroup.className").children().attr('selected','selected');
Run Code Online (Sandbox Code Playgroud)

如果要根据用户选择组来选择整个组,请执行以下操作:

$("optgroup.className").select(function(e) {
  $(this).children().attr('selected','selected');
});
Run Code Online (Sandbox Code Playgroud)

**这两个示例都是未经测试的伪代码,但如有必要,它们应该只需进行最少的更改即可工作。

如果您无法使用框架,则必须自己遍历 DOM 来查找 optgroup 和子项。您可以将侦听器附加到select元素以获取所选元素,然后也以这种方式遍历到子元素。

  • 嗯,我试图找到一个没有 jQuery 的解决方案。但看看简单的方法;另一边:遍历 dom.... 它是 Jquery。 (2认同)
  • @blub — 我认为很多人都是这样进入 jQuery 的。;-) (2认同)