下拉列表值取决于另一个下拉列表中的选定值

一些名字

我有 6 个不同的项目:

Type1Item1
Type1Item2
Type1Item3

Type2Item1
Type2Item2
Type2Item3

2种不同类型:

Type1
Type2

我想提供 2 个 DropDownLists:一个选择类型,另一个选择所选类型的项目。

只写

<select name="ItemTypeSelector" id="ItemTypeSelector">
  <option value="Type1">Type1</option>
  <option value="Type2">Type2</option>
</select><br>

<select name="ItemSelector" id="ItemSelector">
  <option value="Type1Item1">Type1Item1</option>
  <option value="Type1Item2">Type1Item2</option>
  <option value="Type1Item3">Type1Item3</option>
  <option value="Type2Item1">Type2Item1</option>
  <option value="Type2Item2">Type2Item2</option>
  <option value="Type2Item3">Type2Item3</option>
</select><br>

JSFiddle 演示

将允许用户选择Type2andType1Item3没有意义,因为Type1Item3是 type Type1

问题:有没有办法显示Item与所选 s 相关的下拉列表的 s ItemType

亚历山大·埃尔绍博克希

也许类似于以下内容:

window.onload = function() {
  document.getElementById('ItemTypeSelector').addEventListener('change', function() {
    if (this.value == 'Type1') {
      for (let el of document.getElementsByClassName('Type1')) el.style.display = 'block';
      for (let el of document.getElementsByClassName('Type2')) el.style.display = 'none';
      document.getElementById('ItemSelector').getElementsByTagName('option')[0].selected = 'selected'
    } else {
      for (let el of document.getElementsByClassName('Type1')) el.style.display = 'none';
      for (let el of document.getElementsByClassName('Type2')) el.style.display = 'block';
      document.getElementById('ItemSelector').getElementsByTagName('option')[3].selected = 'selected'
    }
  }, false)
  for (let el of document.getElementsByClassName('Type2')) el.style.display = 'none';
};
<select name="ItemTypeSelector" id="ItemTypeSelector">
  <option value="Type1">Type1</option>
  <option value="Type2">Type2</option>
</select><br>

<select name="ItemSelector" id="ItemSelector">
  <option value="Type1Item1" class="Type1">Type1Item1</option>
  <option value="Type1Item2" class="Type1">Type1Item2</option>
  <option value="Type1Item3" class="Type1">Type1Item3</option>
  <option value="Type2Item1" class="Type2">Type2Item1</option>
  <option value="Type2Item2" class="Type2">Type2Item2</option>
  <option value="Type2Item3" class="Type2">Type2Item3</option>
</select><br>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据另一个下拉列表的选定值填充下拉列表?MVC

ng-options在另一个下拉列表中按值过滤

下拉列表取决于AngularJS中的另一个下拉列表

AEM 6.2-根据对另一个下拉列表的选择,在一个下拉列表中设置值

从一个下拉列表中获取选定的值以在另一个下拉列表中使用它

在另一个值上选择一个值时更新下拉列表

如何基于另一个下拉列表中的值自动在下拉列表中设置值

根据rails中另一个下拉列表的值生成下拉列表值

下拉文件列表取决于另一个下拉文件夹列表

javascript更改剩余的下拉列表值,具体取决于第一个

jQuery-选择一个下拉值,该值将从另一个下拉列表中删除一个值

在一个选择下拉列表中禁用选项值,具体取决于在另一个选择列表中选择的值

基于另一个模型中的值的另一个模型的Rails负载下拉列表

根据MVC 4中的另一个下拉列表选定值填充一个下拉列表

如何使用jquery基于另一个下拉列表设置下拉列表值

从另一个下拉列表中选择值时,在Deropdown中获取值

ASP.NET禁用基于另一个下拉列表值的下拉列表

如何根据另一个下拉列表隐藏和显示下拉列表值

将另一个下拉列表中的值填充到下拉列表中

根据另一个下拉列表的值更改下拉列表的值

根据另一个下拉列表选择一个下拉列表的值

如何将下拉列表的选定值用于 Apache Velocity 中另一个标签的文本

不允许在 Angular 中选择下拉列表中的另一个值

根据另一个下拉列表禁用下拉列表中的多个值

根据另一个下拉列表填充一个下拉列表并获取“值”而不是下拉显示值

根据 React 中另一个下拉列表中选择的值更改下拉列表中的值

根据另一个下拉列表动态更改下拉列表的值

保存下拉列表的选定值并默认在另一个下拉列表/重复下拉列表中分配它

在 Angular 8 中更改另一个下拉列表时更新下拉值