/*
* @1.onchange事件 ==> select选择事件
* @2.obj.options ==> 选择option集合
* @3.obj.selectedIndex ==> 选择的下标
*/

/*
* @bug
* @1.onchange事件只有在值改变时才可触发,所以必须在每一次选择时(尤其第一次)保证选择的值是改变的!
* @2.连续选相同一项时, 不触发onchange事件
* @3.创建option必须使用 new Option()
* @ add()方法附加到select中第二个参数要设置为undefined兼容
*/

// select单个选择
chooseProvince();
function chooseProvince(){
var obj = document.getElementById("province");
var sele = obj.options;
obj.onchange = function(){
var index = obj.selectedIndex;
if(index > 0){
console.log(sele[index].value);
}
}
}
// 城市选择
var datas = [["--选择城市--"],
["北京1", "北京2", "北京3"],
["天津1", "天津2", "天津3"],
["上海1", "上海2", "上海3"]
];
chooseProvince()
function chooseProvince(){
var province = document.getElementById("province");
var citySel = document.getElementById("city");
province.onchange = function(){
var index = province.options.selectedIndex;
citySel.innerHTML = '';
if(index > 0){
citySel.style.display = "block";
citySel.options.add(new Option(datas[0][0], undefined));
var citys = datas[index];
for(var i = 0; i < citys.length; i++){
citySel.options.add(new Option(citys[i], undefined));
}
}else{
citySel.style.display = "none";
}
} citySel.onchange = function(){
if(citySel.selectedIndex > 0){
console.log("你选择了:" + citySel.options[citySel.selectedIndex].value);
}
}
}
<div id="select_box">
<select id="province">
<option selected="selected">--选择省市--</option>
<option value="北京">北京</option>
<option value="天津">天津</option>
<option value="上海">上海</option>
</select>
<select id="city"></select>
</div>

select标签的onchange事件的更多相关文章

  1. JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参

    <script src="jquery.min.js" type="text/javascript"></script> <scr ...

  2. IE下Checkbox标签的onchange事件兼容

    Checkbox onchange事件在谷歌上ok,在ie8上不起作用了. 一番周折,测试发现勾选了以后还要点击其他位置才会触发onchange事件. 用度娘查询了一下. 有下面两种解决方式: 用on ...

  3. 关于两栏布局,三栏布局,一级点击三角触发select的onchange事件问题

    首先看这样一个效果:,这个截图来自移动端的列表的一整行,在这个效果当中,存在两个技术点,首先选择祝福卡这个宽度是一定的,右边的部分,宽度随着手机屏幕的宽度而自适应,再一个技术点就是点击最右侧向下箭头, ...

  4. HTML Select 标签选择后触发jQuery事件代码实例

    页面设计原由: 因为很多客户不知道如何来到我们公司,领导想让我在微信公众号上面做一个链接,客户可以直接通过微信公众号打开地图并导航到我们公司的办公地点. 实现起来并不难,但由于公司有很多办事处,所以需 ...

  5. js 触发select onchange事件

    select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,本文为大家介绍下使用js触发select onchange事件select 或text的o ...

  6. select的onChange事件问题解决

    一.onChange事件只有在值改变时才可触发,所以必须在每一次选择时(尤其第一次)保证选择的值是改变的! 所以<select name="inv_payee" id=&qu ...

  7. select的onchange事件获取不了option的value

    一,select的onchange事件获取不了option的value是当你使用JQ($("#xxx").val())方法的获取的值一直提示undefined 二,解决方法: va ...

  8. 2017年3月25日工作日志:Jquery使用小结[绑定事件判断、select标签、军官证正则]

    jQuery获取DOM绑定事件 在1.8.0版本之前,我们要想获取某个DOM绑定的事件处理程序可以这样: $.data(domObj,'events');//或者$('selector').data( ...

  9. jQ给下拉框绑定事件,为什么要绑定在框(select标签)上,而不是绑定在选项(option标签)上

    这是我在学习锋利的 jquery 书中 5.1.4 的代码时遇到的一个小问题,源代码如下: <head> <style type="text/css"> * ...

随机推荐

  1. 【SpringMVC笔记】第四课 注解的处理器映射器和处理器适配器使用

    一.注意点: 版本问题 spring3.2以前的版本,注解的映射器和适配器使用以下两个类. org.springframework.web.servlet.mvc.annotation.Default ...

  2. 【译】Linux概念架构的理解

    声明:本文转载,原路径地址:http://www.jianshu.com/p/c5ae8f061cfe 摘要 Linux kernel成功的两个原因:(1)灵活的架构设计使得大量的志愿开发者能够很容易 ...

  3. MySQL命令学习(二)

    (13)where字句操作符 =            等于 <>          不等于 !=           不等于 <            小于 >        ...

  4. r画饼图

    原始图样: library(ggplot2) dt = data.frame(A = c(2, 7, 4, 10, 1), B = c('B','A','C','D','E')) p = ggplot ...

  5. 【MySQL】MySQL 常用语法之锁表与解锁表

    mysql 锁表语句: Lock锁整张表: 写锁定: LOCK TABLES products WRITE: 写锁,锁定之后,只有当前线程可以进行读操作和写操作,其他线程读操作和写操作均被堵塞.... ...

  6. Zookeeper CLI

    ZooKeeper命令行界面(CLI)用于与ZooKeeper集合进行交互以进行开发.它有助于调试和解决不同的选项. 要执行ZooKeeper CLI操作,首先打开ZooKeeper服务器(“bin/ ...

  7. 鼠标捕获(setCapture,releaseCapture)的学习

    鼠标捕获(setCapture)作用是将鼠标事件捕获到当前文档的指定的对象——对指定的对象设置鼠标捕获.这个对象会为当前应用程序或整个系统接收所有鼠标事件. 所谓鼠标捕获,是指对鼠标事件(onmous ...

  8. js 查找指定函数的内容

    function test(){  //hahahhahahhahahha }alert(test.toString());

  9. JavaSE(八)集合之Set

    今天这一篇把之前没有搞懂的TreeSet中的比较搞得非常的清楚,也懂得了它的底层实现.希望博友提意见! 一.Set接口 1.1.Set集合概述 Set集合:它类似于一个罐子,程序可以依次把多个对象 “ ...

  10. Unity UI大小动态设置(Resize Unity UI RectTransform)

    我们在开发过程中发现,要调整Unity UI元素的大小,RectTransform提供了sizeDelta属性可以用来动态修改RectTransform的大小,但同时我们也google到另外一个修改R ...