0
option
のvalue
を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>