12

我尝试创建一个关系/连接 beetwen 2 选择框

<form id="creation" name="creation">
<select name="select01" id="select01">
     <option value="01">01</option>
     <option value="02">02</option>
     <option value="03">03</option>
</select>

<select name="select02" id="select02">
     <option value="aa">aa</option>
     <option value="bb">bb</option>
     <option value="cc">cc</option>
</select>
</form>

我希望我的选择框select02在开始时被禁用,当我点击 value02value03时,我们启用它,当我们点击value01时,禁用它。

目前有我的代码js。我尝试从其他功能(启用选择框的单选按钮)调整它,但它似乎不起作用。我的列表在开始时被禁用,但 onclick 不起作用......

一些身体可以帮助我吗?

var oui = document.creation.select01[0];

document.getElementById("select02").disabled=true;
oui.onclick = function() {
document.getElementById("select02").disabled=false;
}

好的,现在,我使用以下代码:

<script>
var oui = document.select01;
document.getElementById("select02" ).disabled=true;
oui.onchange = function(){
document.getElementById("select02" ).disabled=false;
}
</script>

我更改了我的 select01 的值,然后我的 select02 现在启用了 .. 但是我怎样才能只针对我的 select01 的 2 个选项?

4

4 回答 4

13

试试这个:

<form id="creation" name="creation" onchange="handleSelect()">
<select name="select01" id="select01">
     <option value="01">01</option>
     <option value="02">02</option>
     <option value="03">03</option>
</select>

<select name="select02" id="select02" disabled>
     <option value="aa">aa</option>
     <option value="bb">bb</option>
     <option value="cc">cc</option>
</select>
</form>

作为 JS 脚本:

 function handleSelect() {
     if (this.value == '01') {
         document.getElementById('select02').disabled = true;
     } else {
         document.getElementById('select02').disabled = false;
     }
 }

还有一个提示:探索 jQuery,一个非常流行的 JS 框架 (jquery.com)。您可以通过使用它非常简单地完成您的任务。

于 2012-09-04T19:08:12.067 回答
3
​document.getElementById('select01').onchange = function () {
    document.getElementById("select02").disabled = this.value == '01';
}​​​​​​​​

这是小提琴:http: //jsfiddle.net/PK2vc/

于 2012-09-04T18:42:16.993 回答
1

您必须使用onchange而不是onclick. 所以下面应该是

oui.onclick = function() 

替换为

oui.onchange = function() 

祝你好运 !!

于 2012-09-04T18:40:43.537 回答
-1
function handleSelect() {
  if (this.value == '01') {
     document.getElementById('select02').disabled = true;
  } else {
     document.getElementById('select02').disabled = false;
  }
}
于 2012-10-10T14:34:47.223 回答