一,
onChange 事件只有在值改变时才可触发, 所以必须在每一次选择时 (尤其第一次) 保证选择的值是改变的!
第一个默认选中
- <select name="" id="" onchange="show();">
- <option value="个人" disabled selected hidden>
- 个人
- </option>
- // 在这要选定一个默认的值 "selected"
- <option value="单位">
- 单位
- </option>
- </select>
这样在选择第二个时, 值就会变即可触发 onChange;
二,
我们用 Select 的 onchange 事件时, 常会遇到这样一个问题, 那就是连续选相同一项时, 不触发 onchange 事件. select 的 onchange 事件就是这样子的. 你得有 Change(改变), 才能触发该事件....
- <select name="" onchange="getVal(this.options[this.options.selectedIndex].value)">
- <option value="">
- 请选择
- </option>
- <option value="1">
- Item 1
- </option>
- <option value="2">
- Item 2
- </option>
- </select>
- <script>
- function getVal(value) {
- console.log(value)
- // 选择后, 让第一项被选中, 这样, 就有 Change 啦.
- document.all.sel.options[0].selected = true;
- }
- </script>
来源: http://www.jianshu.com/p/899e3cc88677