Welcome 微信登录

首页 / 脚本样式 / JavaScript / javascript中select下拉框的用法总结

本文针对开发项目中遇到的问题,进行了汇总
问题1:如何选择select的option里面的值?
首先会用到一个方法 onchange();这个方法主要用于触发,选择框内容改变时间
实现代码:
<!doctype html><html><head lang="en"><meta charset="UTF-8"></head><body><select onchange="test(event)"><option>安静</option><option>晴天</option><option>七里香</option></select><script type="text/javascript">function test (e) {var e = event ? event : window.event;alert(e.target.value);}</script></body></html>


问题2:可是在开发中,我们一般选择了内容只是为了显示,而真正要做的是和后台进行交互数据传输,这时候,我们为了尽可能减少http数据传输,所以一般会传 id 等作为数据传输标志,如何做?
开发中,option一般都是动态创建的,那么这时候,我们只需要给你动态创建一个自定义属性。那么如何获取自定义属性呢?

<!doctype html><html><head lang="en"><meta charset="UTF-8"></head><body><select onchange="test(event)" id="sel"></select><script type="text/javascript">//定义内容的json数据,一般从后台获取var data = [{name: "晴天",id: "1"},{name: "安静",id: "2"},{name: "七里香",id: "3"}];createOption("sel",data);//创建optionfunction createOption(parentId, data){var parentId = document.getElementById(parentId);for(var i=0; i<data.length; i++){var opt = document.createElement("option");//设置option的值opt.innerHTML = data[i].name;//定义option的自定义值opt.setAttribute("dataid", data[i].id);parentId.appendChild(opt);}}//选取自定义属性的方法function test (e) {var e = event ? event : window.event;var target = e.target;var index = target.selectedIndex;alert("我的id="+target[index].getAttribute("dataid"));}</script></body></html>
结果图如下:


这就是我在开发中遇到的问题,希望可以对大家的学习有所启发。