首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用javascript编写选择元素的脚本

用javascript编写选择元素的脚本
EN

Stack Overflow用户
提问于 2017-11-22 11:43:44
回答 2查看 29关注 0票数 1

我发现很难为html select元素设置样式,甚至添加事件侦听器。

预期行为我想提醒选择选项的文本内容。

这是HTML代码:

代码语言:javascript
代码运行次数:0
运行
复制
<select name="chooseSub" id="chooseSub" placeholder="Here we go">
  <option value="makeChoice" id="disabled">--Make a choice-- </option>
  <option value="ai" id="ai">Artificial Intelligence</option>
  <option value="angularJs" id="angularJs">AngularJs</option>
  <option value="css" id="css3">CSS3</option>
</select>

这是javascript代码:

代码语言:javascript
代码运行次数:0
运行
复制
var select = document.getElementById('chooseSub');

select.addEventListener('click', function(event) {
  if (event.target && event.target.nodeName === 'option') {
    alert(event.target);
  }
});

实际行为根本不做任何事情

EN

回答 2

Stack Overflow用户

发布于 2017-11-22 11:54:13

你是说这个吗?

代码语言:javascript
代码运行次数:0
运行
复制
var select = document.getElementById('chooseSub');

select.addEventListener('change', function(event) {
    alert(event.target.selectedOptions[0].text);
});
代码语言:javascript
代码运行次数:0
运行
复制
<select name="chooseSub" id="chooseSub" placeholder="Here we go">
  <option value="makeChoice" id="disabled">--Make a choice-- </option>
  <option value="ai" id="ai">Artificial Intelligence</option>
  <option value="angularJs" id="angularJs">AngularJs</option>
  <option value="css" id="css3">CSS3</option>
</select>

票数 0
EN

Stack Overflow用户

发布于 2017-11-22 12:42:49

代码语言:javascript
代码运行次数:0
运行
复制
function myFunction(opt){
alert(opt.options[opt.selectedIndex].text);
/*if you want value of selected option : alert(opt.options[opt.selectedIndex].value);*/
}
代码语言:javascript
代码运行次数:0
运行
复制
<select name="chooseSub" id="chooseSub" placeholder="Here we go" onChange='myFunction(this)'>
  <option value="makeChoice" id="disabled">--Make a choice-- </option>
  <option value="ai" id="ai">Artificial Intelligence</option>
  <option value="angularJs" id="angularJs">AngularJs</option>
  <option value="css" id="css3">CSS3</option>
</select>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47433862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档