对于给定的一组下拉字段,如何在 html & Javascript 中禁用其余下拉列表中的选定下拉列表项

How to disable a selected dropdown list item from the rest of the dropdowns, for a given group of dropdown fields, in html & Javascript

我有一组 6 个下拉字段。每个字段都有 select 选项 1 到 6,我想要的是如果用户 selects 例如,第一个下拉字段中的 1,则选项 1 在其余 5 个中被禁用字段(我们正在从 1 到 6 的用户收集数据)。基本上任何给定的下拉选项只能在 6 个字段中 selected 一次。如何在 HTML 和 JavaScript 中实现此目的?我只需要有关如何开始的指示。

更新:

所以这个解决方案适用于我的 6 个问题,现在我们有 10 组,每组 6 个问题,我为 10 个 div 中的每一个分配了一个唯一的 class 这样我就可以遍历所有 10 个设置并实现此功能。我现在正在研究一个解决方案来实现它,如果有人有指点 - 他们将不胜感激,否则如果我做对了我会更新解决方案。

您可以将事件侦听器附加到 select 标签,以禁用其他选项;例如:

const selectList = document.getElementsByTagName("select")

for (let i = 0; i < selectList.length; i++) {
    selectList[i].addEventListener('change', (event) => disabler(event))
}

function reset() {
    for (let i = 0; i < selectList.length; i++) {
    for (let k = 0; k < selectList[i].length; k++) {
      selectList[i][k].disabled = false;
    }
  }
}

function disabler(event) {

  reset();

    for (let i = 0; i < selectList.length; i++) {

    selectedValue = selectList[i].value;

    for (let j = 0; j < selectList.length; j++) {

      for (let k = 0; k < selectList[j].length; k++) {
        if (selectList[j][k].value === selectedValue) {
          selectList[j][k].disabled = true;    
        }
      }
    }
  }
}

function submitValue() {
  const values = [];

  for (let i = 0; i < selectList.length; i++) {
      values.push(Number(selectList[i].value));
  }
  
  console.log(values)
}
<form id="form">
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
</select> 
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
</select> 
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
</select> 
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
</select> 
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
</select> 
<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
</select>  
<input type="button" value ="Submit" onclick="submitValue()"></button>
</form>

这有一个错误,因为您不能移动值,但可以用作 POC。