javascript中select下拉框的用法总结


Posted in Javascript onJanuary 07, 2016

本文针对开发项目中遇到的问题,进行了汇总
问题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>

javascript中select下拉框的用法总结

问题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);
  //创建option
  function 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>

结果图如下:

javascript中select下拉框的用法总结

如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。

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

Javascript 相关文章推荐
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
JavaScript代码应该放在HTML代码哪个位置比较好?
Oct 16 Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 Javascript
原生js制作日历控件实例分享
Apr 06 Javascript
Angularjs Promise实例详解
Mar 15 Javascript
js合并两个数组生成合并后的key:value数组
May 09 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
Aug 14 Javascript
JS实现可视化文件上传
Sep 08 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
Apr 29 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 #Javascript
js创建对象的方法汇总
Jan 07 #Javascript
JavaScript截取、切割字符串的技巧
Jan 07 #Javascript
js确认框confirm()用法实例详解
Jan 07 #Javascript
实例讲解jquery与json的结合
Jan 07 #Javascript
javascript仿百度输入框提示自动下拉补全
Jan 07 #Javascript
基于jquery实现表格无刷新分页
Jan 07 #Javascript
You might like
3.从实例开始
2006/10/09 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
番茄的表单验证类代码修改版
2008/07/18 Javascript
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
简单实现Bootstrap标签页
2020/08/09 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
[48:11]完美世界DOTA2联赛 Magma vs GXR 第二场 11.07
2020/11/10 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
Python给你的头像加上圣诞帽
2018/01/04 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
python 实现识别图片上的数字
2019/07/30 Python
Python监听键盘和鼠标事件的示例代码
2020/11/18 Python
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
三严三实对照检查材料思想汇报
2014/09/28 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android