【问题标题】:enable or disable option from select从选择中启用或禁用选项
【发布时间】:2022-03-07 11:15:55
【问题描述】:

我正在尝试根据他们是否选择另一个选项来使选项可选择或不可选择。例如,如果有选项 1-6 并且他们没有在他们的第一个选择框中选择选项 1,那么在那个相同的选择框和表单中的任何其他选项中,则不能选择选项 6。

我环顾四周,但一切都是为了实现这一点。

这是我的代码(我也试过onclick)

   <script type="text/javascript">
      function makeDisable(){
      var x=document.getElementById("mySelect2");
      x.disabled=true
      }
     function makeEnable(){
         var x=document.getElementById("mySelect2");
          x.disabled=false
     }</script>
     <form>
        <select class="mySelect" id="mySelect">
        <option onchange="makeEnable()" value="Enable list">Apple</option>
        <option onchange="makeDisable()" value="Disable list">Banana</option>
        <option id="mySelect2" disabled="true">Orange</option>
    </select>
    </form>

【问题讨论】:

    标签: javascript html-select


    【解决方案1】:

    Option 元素没有事件“onchange”,但 Select 元素有。

    我在下面快速写了一段代码sn-p。您可以添加更多选择项。当您在其中一个选择元素中选择一个选项时,您不应该在其他选择元素中选择相同索引的选项。

    function toggleDisability(selectElement) {
      //Getting all select elements
      var arraySelects = document.getElementsByClassName('mySelect');
      //Getting selected index
      var selectedOption = selectElement.selectedIndex;
      //Disabling options at same index in other select elements
      for (var i = 0; i < arraySelects.length; i++) {
        if (arraySelects[i] == selectElement)
          continue; //Passing the selected Select Element
    
        arraySelects[i].options[selectedOption].disabled = true;
      }
    }
    <form>
      <select onchange="toggleDisability(this);" class="mySelect" id="mySelect1">
        <option>Apple</option>
        <option>Banana</option>
        <option>Orange</option>
      </select>
      <select onchange="toggleDisability(this);" class="mySelect" id="mySelect2">
        <option>Hamburger</option>
        <option>Pizza</option>
        <option>Cola</option>
      </select>
    </form>

    【讨论】:

    • 我一直在避免做类似的事情,哈哈。但是谢谢你,我想这会是这样!
    猜你喜欢
    • 2012-07-22
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 2018-02-24
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多