我有一个包含多个下拉列表的页面,我想在所有这些下拉列表中禁用多个选项。
我打算禁用的选项具有某些共同特征,即它们分别被标识为两个类。所有列表中的许多选项共享相同的类,我想添加几个按钮来启用或禁用基于这些类的选项。
我的问题是,我在这里看到的标准方法是针对选项
- 通过选择元素
- 按编号。
但是我的是动态生成的,我试图禁用的选项并不总是彼此相邻。
这是其中一个下拉菜单的片段:
<select name="m1">
<option value="Abyss Guard, Cereberus" class="Covert Beast">Abyss Guard, Cereberus</option>
<option value="Abyss Guard, Cereberus+" class="Covert Beast">Abyss Guard, Cereberus+</option>
<option value="Achlis+" class="Covert Beast">Achlis+</option>
<option value="Adept Devil+" class="Impulse Demon">Adept Devil+</option>
<option value="Agares+" class="Covert Demon">Agares+</option>
<option value="Airship of Death+" class="Psycho Creation">Airship of Death+</option>
<option value="Ancient Huge Statue+" class="Psycho Creation">Ancient Huge Statue+</option>
<option value="Anna Thorn Maiden" class="Impulse Demon">Anna Thorn Maiden</option>
<option value="Anna Thorn Maiden+" class="Impulse Demon">Anna Thorn Maiden+</option>
<option value="Anomalocaris+" class="Impulse Beast">Anomalocaris+</option>
<option value="Apopisu of Chaos+" class="Psycho Beast">Apopisu of Chaos+</option>
<option value="Arachno Chi" class="Psycho Crawler">Arachno Chi</option>
<option value="Arachno Chi+" class="Psycho Crawler">Arachno Chi+</option>
<option value="Arbitration Demon+" class="Psycho Demon">Arbitration Demon+</option>
<option value="Armored Black Tiger+" class="Impulse Beast">Armored Black Tiger+</option>
<option value="Armored Bucephalus+" class="Covert Beast">Armored Bucephalus+</option>
</select>
这绝不是一个详尽的列表,每个下拉列表都有数百个选项,尽管所有下拉列表都包含相同的列表。如您所见,列表是按字母顺序排序的,而不是按类别排序的。
我希望使用基于两个类之一的按钮禁用和启用选项,并且禁用状态应该覆盖启用状态。该标准document.getElementById('m1').options[number].disabled
在这里并没有真正帮助我,因为列表是动态生成的,我不知道特定选项将在哪里结束。
该网站的部分目标是最大限度地减少所需的重新加载量,同时最大限度地减少正在执行的 javascript 的数量,以加快响应速度。有没有办法可以选择任何特定类的所有下拉列表中的所有选项?