javascript - 如何将事件监听器添加到选择元素?

标签 javascript html

我想向选择元素添加一个事件监听器,并在选择一个选项时执行一个操作。我的 HTML 代码是:

<select id="a_background" name="background" class="widget">
 <option value="1">Yes</option>
 <option value="0" selected="selected">No</option>
</select>

所以当Yes被选中:做某事,如果No被选中:做其他事情

这是我目前所拥有的:

var activities = document.getElementById("a_background");
var options = activities.querySelectorAll("option");

activities.addEventListener("changed", function() {

  if (options == "addNew")
  {
    alert('add New selected');
  }

 else 
  { 
    alert('add None selected');
  }
});

由于限制,我无法在 select 元素中调用函数。例如<select onChange="myFunction()" id="a_background">这就是为什么我想添加一个事件监听器。

最佳答案

这可以简单地使用 addEventListener() 函数来完成:

document.querySelector('#a_background').addEventListener("change", function() {
  if (this.value == "1") {
    console.log('Yes selected');
  }else{
     console.log('No selected');
  }
});
<select id="a_background" name="background" class="widget">
 <option value="1">Yes</option>
 <option value="0" selected="selected">No</option>
</select>

关于javascript - 如何将事件监听器添加到选择元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47058077/

相关文章:

javascript - 数据传输在 IE11 中无法正常工作

javascript - 如何在 DOM 中尚未存在的元素上添加事件监听器 [no-jQuery]?

javascript - 如何获得 CSS 转换以应用于 React 动态生成的样式?

javascript - 使用 JavaScript 将数据插入数组

javascript - 刷新页面时,使用 javascript 构建的计时器会重置吗?如何避免?

jquery - 为什么我的 div 不能垂直展开?

html - Chrome 中 iFrame 的溢出滚动问题

javascript - 如何在没有 iframe 的情况下使用 Google 表单?

javascript - jQuery UI 自动完成通过 ajax 错误 :

javascript - 将输入值发送到 Url.Action