首页 > 解决方案 > 我可以在 javascript 的选择列表上使用 onblur 吗?

问题描述

当我在选择列表中选择第一个选项之外的其他选项时,我希望删除星号!

<script>
function opchk() {
  if (document.getElementById("ops").value = 'Select size') { 
    document.getElementById(asterisk9).style.display = "block";
  }
  else {
    document.getElementById(asterisk9).style.display = "none";
  }
</script>

我的错误在哪里?

<div class="type1" id="top4">
  <h>Size:</h>
  <h class="astyle" id="asterisk9">*</h>
</div>

<select style="width:90px" id="ops" onblur="opchk()">
  <option value="op1">Select size</option>
  <option value="op2">5</option>
  <option value="op3">10</option>
  <option value="op4">15</option>
  <option value="op5">20</option>
</select>

标签: javascriptfunctionselectonblur

解决方案


因此,您的两个最大问题是opchk函数上缺少括号和使用单个=over ==or ===

=将右边的值赋给左边的变量
==松散地检查相等(1 等于 1 以及“1”)
===正在检查严格相等(1 等于 1 但不是“1”)

<script>
function opchk() {
  if (document.getElementById("ops").value === 'Select size') { 
    document.getElementById("asterisk9").style.display = "block";
  }
  else {
    document.getElementById("asterisk9").style.display = "none";
  }
}
</script>


<div class="type1" id="top4">
  <h>Size:</h>
  <h class="astyle" id="asterisk9">*</h>
</div>

<select style="width:90px" id="ops" onblur="opchk()">
  <option value="op1">Select size</option>
  <option value="op2">5</option>
  <option value="op3">10</option>
  <option value="op4">15</option>
  <option value="op5">20</option>
</select>

推荐阅读