源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript中select下拉框的用法总结

  • 时间:2022-05-11 23:54 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript中select下拉框的用法总结
本文针对开发项目中遇到的问题,进行了汇总 [b]问题1:[/b][b]如何选择select的option里面的值? [/b] 首先会用到一个方法 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>
[img]http://files.jb51.net/file_images/article/201601/201617170122103.png?20160717129[/img] [b]问题2:[/b][b]可是在开发中,我们一般选择了内容只是为了显示,而真正要做的是和后台进行交互数据传输,这时候,我们为了尽可能减少http数据传输,所以一般会传 id 等作为数据传输标志,如何做? [/b]开发中,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>
结果图如下: [img]http://files.jb51.net/file_images/article/201601/201617170139740.png?20160717147[/img] 如果大家还想深入学习,可以点击[url=http://www.1sucai.cn/Special/891.htm]jquery下拉框效果汇总[/url]、[url=http://www.1sucai.cn/Special/890.htm]JavaScript下拉框效果汇总[/url]进行学习。 这就是我在开发中遇到的问题,希望可以对大家的学习有所启发。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部