DHTML:<select>
2016-06-20 16:35
246 查看
利用select组件即下拉框来做到一些想要的功能
这里很重要的一点是它的事件是onchange事件而不是onclick事件。
我们通过拿到select标签然后用这个节点的options拿到所有下拉框中的所有选项,用一个selectedIndex拿到我们选的是哪一项,与上面拿到的options数组结合就可以拿到我们所选的option进一步可以拿到option里面的value属性进行读取。再利用document的创建节点技术挂到一个我们事先给定位置的节点的树下。达到我们的目的。
在这里,有两个实例来帮助理解select组件的用途,代码如下:
实例一:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>select组件演示</title> <style type="text/css"> .colorClass{ height:60px; width:80px; float:left; margin-right:10px; margin-bottom:25px; } .context{ clear:left; } </style> <script type="text/javascript"> function changeColor(oDivNode){ document.getElementById("text").style.color=oDivNode.style.backgroundColor; } function changeColor2(){ var oSelectNode = document.getElementById("colorSelect"); var oItemOptions = oSelectNode.options; var index = oSelectNode.selectedIndex; var colorName=oItemOptions[index].value; document.getElementById("text").style.color=colorName; } function changeColor3(){ var oSelectNode = document.getElementById("colorSelect2"); var oItemOptions = oSelectNode.options; var index = oSelectNode.selectedIndex; var colorName=oItemOptions[index].value; document.getElementById("text").style.color=colorName; } </script> </head> <body> <div> <div class="colorClass" id="color1" style="background-color:red" onclick="changeColor(this)"/></div> <div class="colorClass" id="color2" style="background-color:blue" onclick="changeColor(this)"/></div> <div class="colorClass" id="color3" style="background-color:green" onclick="changeColor(this)"/></div> </div> <hr/> <div id="text" class="context"> 要显示的内容文本<br/> 要显示的内容文本<br/> 要显示的内容文本<br/> 要显示的内容文本<br/> </div> <hr/> <select id="colorSelect" onchange="changeColor2()"> <option>--请选择颜色--</option> <option value="red">红色</option> <option value="blue">蓝色</option> <option value="green">绿色</option> </select> <hr/> <select id="colorSelect2" onchange="changeColor3()"> <option>--请选择颜色--</option> <option value="red" style="background-color:red"></option> <option value="green" style="background-color:green"></option> <option value="blue" style="background-color:blue"></option> </select> </body> </html>
实例二
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>select组件演示</title> <style type="text/css"> </style> <script type="text/javascript"> function addCities(){ var oSelectNode = document.getElementById("selectId"); var index = oSelectNode.selectedIndex; var selectOption = oSelectNode.options[index]; //alert(selectOption.value); //json技术: var province ={ "hunan":["长沙","株洲","衡山","益阳"], "hubei":["武汉","武昌", "汉口","宜昌"], "guangdong":["广州","东莞","深圳","珠海"] }; var cityNames = province[selectOption.value]; var subSelectNode = document.getElementById("subSelectId"); //法一: //subSelectNode.options.length=1; //法二 // for(var x=subSelectNode.length-1;x>=1;x--){ // subSelectNode.removeChild(subSelectNode.options[x]); // } //法三:利用js中数组的长度是自动更新的。 for(var x=1;x<subSelectNode.length;){ subSelectNode.removeChild(subSelectNode.options[x]); } for(var x=1;x<cityNames.length;x++){ var optionNode = document.createElement("option"); optionNode.innerHTML=cityNames[x]; subSelectNode.appendChild(optionNode); } } function changePic(){ var oSelectNode = document.getElementById("imgSelectId"); var index = oSelectNode.selectedIndex;//被选中的index var oSelectOptions = oSelectNode.options;//所有的选项 var oSelectOption = oSelectOptions[index];//被选中的option var optionValue = oSelectOption.value;//属性名 var oDivNode = document.getElementById("imgId"); for(var x=0;x<oDivNode.childNodes.length;){ oDivNode.removeChild(oDivNode.childNodes[x]); } var oImgNode = document.createElement("img"); oImgNode.src="imgs\\"+optionValue+".jpg"; oImgNode.alt="图片正在加载,请稍后"; oImgNode.style.width="500px"; oImgNode.style.height="400px"; oDivNode.appendChild(oImgNode); } </script> </head> <body> <select id="selectId" onchange="addCities()"> <option>--请选择省份--</option> <option value="hunan">--湖南省--</option> <option value="hubei">--湖北省--</option> <option value="guangdong">--广东省--</option> </select> <select id="subSelectId"> <option>--请选择城市--</option> </select> <hr/> <div id="imgId"> </div> <select id="imgSelectId" onchange="changePic()"> <option>--请选择图片--</option> <option value="1">亚瑟王</option> <option value="2">亚丝娜</option> <option value="3">琅琊榜</option> </select> </body> </html>
相关文章推荐
- 3-3innerHTML 属性
- HTML下使元素在父元素内绝对定位
- DHTML技术演示---selcet的使用(级联技术)
- XSLT实现XML文档转换成HTML文档
- html手型按钮添加
- 欢迎使用CSDN-markdown编辑器
- .NET Core HtmlAgilityPack HTML解析利器
- <!DOCTYPE html>重要么?
- HTML语法大全_html语言语法大全(必看)
- swiper的基础使用(四)
- html——label
- Word2Html(doc docx)
- 使用fiddler将制作的html网页放到api.bing.com域名下
- HTML 音频
- HTML 多媒体
- html
- XML与HTML
- 通过HTML的方式给textview设置不同的颜色
- HTML第二天
- html语法基础