2017-10-22 6 views
0

optionvalueをtrueとして評価できますが、falseではありません。 「クリックしていない」ことはありませんユーザーがtrueまたはfalseをクリックしたかどうかをテストします。

どうやってですか?

https://jsfiddle.net/9wvp0ktd/

const versionNum = document.querySelector('#version-num'); 
 
const jarName = document.querySelector('#jar-name'); 
 
const getLatest = document.querySelector('#get-latest-yn'); 
 
getLatest.onclick = function() { 
 
    if (this.value === 'none') { 
 
     console.log('clicked none'); 
 
     if (!versionNum.classList.contains('hidden')) versionNum.classList.add('hidden'); 
 
     if (!jarName.classList.contains('hidden')) jarName.classList.add('hidden') 
 
    } else { 
 
     if (this.value) { 
 
      console.log('clicked yes'); 
 
      if (versionNum.classList.contains('hidden')) versionNum.classList.remove('hidden'); 
 
      if (!jarName.classList.contains('hidden')) jarName.classList.add('hidden'); 
 
     } else{ 
 
      console.log('clicked no'); 
 
      if (!versionNum.classList.contains('hidden')) versionNum.classList.add('hidden'); 
 
      if (jarName.classList.contains('hidden')) jarName.classList.remove('hidden'); 
 
     } 
 
    } 
 
};
.hidden{ 
 
    display: none; 
 
}
<div> 
 
    <label class="desc" for="get-latest-yn">Latest Binary?</label> 
 
    <div> 
 
    <select id="get-latest-yn" name="get-latest-yn" class="field select medium" tabindex="1"> 
 
     <option value="none"></option> 
 
     <option value="true">Yes</option> 
 
     <option value="false">No</option> 
 
    </select> 
 
    </div> 
 
</div> 
 
<div id="version-num" class="hidden"> 
 
    clicked yes 
 
</div> 
 

 
<div id="jar-name" class="hidden"> 
 
    clicked no 
 
</div>

答えて

1
私が[OK]を愚か

しかしvalueデータ型だったがstringので、私はthis.value === 'true'

this.valueを変更していないbool

関連する問題