2017-03-29 24 views
1

私はJsfiddleで動作するこのJavaScriptコードを持っています。ユーザがドロップダウンでYESを選択すると、2番目のものは自動的にNOを選択し、その逆もあります。私は自分のHTMLページにそれをフォーマットしています。何らかの理由でそれが動作しません。Jsfiddleで動作 - サイト/ブラウザではありません

ブラウザでChromeを使用しています。私はjsfiddleリンクと私のJSと私のHTMLコードを追加しました。

Jsfiddleリンク:https://jsfiddle.net/rk57hkak/10/

HTMLのCODE:

<!DOCTYPE html> 
 
<html> 
 
<body> 
 
    <script src="committee.js"></script> 
 
    <div class="cmicrophone" id="cmicrophone">Currently: 
 
    <select id="cmicrophone" class="cmicrophone select1" name="cmicrophone" onchange=""> 
 
\t <option value="">Select Option</option> 
 
\t <option value="'S microphone is currently on. Please remind them to turn it ">OFF</option> 
 
\t <option value="'S microphone is currently off. Please remind them to turn it ">ON</option> 
 
    </select> 
 
    </div> \t \t 
 
    <div class="microphone" id="microphone">Microphone: 
 
    <select id="microphone" class="microphone select2" name = "microphone"> 
 
\t <option value=" " selected="selected">Select Option</option> 
 
\t <option value="ON. Thank you.">ON</option> 
 
\t <option value="OFF. Thank you.">OFF</option> 
 
    </select> 
 
    </div> \t \t \t \t \t \t 
 
</body> 
 
</html>

JavaScriptのコード:

const cmicrophone = document.querySelector('.select1'); 
 
const microphone = document.querySelector('.select2'); 
 

 
function inputHandler(thisSelect, otherSelect) { 
 
    // console.log(thisSelect.selectedIndex) 
 
    if (thisSelect.selectedIndex == 1) { 
 
\t otherSelect.selectedIndex = 1; 
 
    } else if (thisSelect.selectedIndex == 2) { 
 
\t otherSelect.selectedIndex = 2; 
 
    } else { 
 
\t thisSelect.selectedIndex = 0; 
 
\t otherSelect.selectedIndex = 0; 
 
    } 
 
} 
 

 
cmicrophone.addEventListener('input', event => { 
 
    inputHandler(cmicrophone, microphone); 
 
}); 
 

 
microphone.addEventListener('input', event => { 
 
    inputHandler(microphone, cmicrophone); 
 
});

+2

の非可用性の失敗で、私はjsFiddleとそのデフォルト値が良いよりも害を行うことを考え始めています。 –

答えて

1

これは、要素がDOMに存在する前にスクリプトが実行されているためです。このような場合にラインがconst cmicrophone = document.querySelector('.select1'); & const microphone = document.querySelector('.select2');ための要素

<body> 
    //html code  
<script src="committee.js"></script> // Include script here   
</body> 
+0

jsの場所は機能にどのように影響しますか?私は好奇心が強い、ちょうどそれがいかに働くか本当に理解しない。 – catung555555

関連する問題