12

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を無効 にしたいのですが、value02またはvalue03をクリックすると有効になり、 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>

selec01 の値を変更すると、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;
     }
 }

ヒント: 非常に人気のある JS フレームワークである jQuery を調べてください (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 に答える