如何激活一个选项并在javascript中禁用其他选项

时间:2017-07-03 18:00:51

标签: javascript html

如何禁用一个选项而另一个禁用,反之亦然?我尝试添加两个功能,但似乎没有用。我面临的问题是,当我选择第一个选项时,按钮会启用,但在选择其他选项时,前一个选项仍然可以启用。如何解决这个问题?

<option id="display" onclick="display1(); display2()">Option 1</option>
    <script>
        var val1="Option 1";
        var val2=document.getElementById('display').value;
        if (val1==val2) {
            function display1() {
                document.getElementById('hgt').disabled = false;
                document.getElementById('wdt').disabled = false;
            }
        } else if (val1!=val2) {
            function display2() {
                document.getElementById('hgt').disabled = true;
                document.getElementById('wdt').disabled = true;
            }
        }
    </script>
<option id="text1" onclick="text1(); text2()">Option 2</option>
    <script>
        var val3="Option 2";
        var val4= document.getElementById('text1').value;
        if (val3==val4) {
            function text1() {
                document.getElementById('write').disabled = false;
            }
        } else if (val3!=val4) {
            function text2() {
                document.getElementById('text1').disabled = true;
            }
        }
    </script>
</select></br></br>

2 个答案:

答案 0 :(得分:0)

你没有开场选择标签,你的代码也与你的html交织在一起。您可能想稍微清理一下

但是,你可以这样做。

&#13;
&#13;
var select = document.getElementsByTagName('select')[0];

var option1 = document.getElementById('option1');

var option2 = document.getElementById('option2');

select.addEventListener('change', function(e) {


  if (this.value === 'option1') {

    option2.setAttribute('disabled', true)

    console.log(option2);
  }
  if (this.value === 'option2') {

    option1.setAttribute('disabled', true)

    console.log(option2);
  }


})
&#13;
<select>
<option> defualt</option>
<option id="option1">option1</option>
<option id="option2">option2</option>
</select>
</br>
</br>
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

测试不使用document.getElementById('hgt').disabled = true;但请改用它 禁用:document.getElementById('hgt').style.display = "none"; 激活:document.getElementById('hgt').style.display = "block";

相关问题