最近在做一个项目需要兼容到ie不同版本,在使用select时遇到了各种问题。后来索性就自己使用原生js实现了这样一个下拉框,话不多说,直接上代码吧。

<html lang="en">
<head><meta charset="UTF-8"><title>自定义select</title>
</head>
<style>*{margin: 0;padding: 0;}#main{position: relative;width: 280px;height: 42px;}#content{width: 280px;height: 42px;line-height: 42px;padding-left: 10px;background: rgb(255, 255, 255);border-radius: 2px;border: 1px solid rgb(221, 221, 221);font-size: 16px;font-family: MicrosoftYaHei;color: rgb(51, 51, 51);cursor: pointer;}#selectImg{position: absolute;top:13px;right: 10px;cursor: pointer;}#selectItem{display: none;border: 1px solid #eee;width: 290px;}#selectItem ul{list-style: none;}#selectItem ul li{height: 30px;line-height: 30px;padding-left: 10px;cursor: pointer;}#selectItem ul li:hover{background-color:#f5f7fa;}
</style>
<body><div id="main"><div id="content"></div><img id="selectImg" src="./icon_select.png" alt=""><div id="selectItem"><!--    <ul><li data-value="1">北京</li><li data-value="2">上海</li><li data-value="3">深圳</li></ul>--></div></div></body>
<script>var data = [{name:'北京',value:'1'},{name:'上海',value:'2'},{name:'广州',value:'3'}]var content = document.getElementById('content');var selectImg = document.getElementById('selectImg');var selectItem = document.getElementById('selectItem');var ul = document.createElement('ul');selectItem.appendChild(ul);for(var i = 0; i < data.length; i++){var li = document.createElement('li');li.setAttribute('data-value',data[i].value);li.innerText = data[i].name;ul.appendChild(li);}/*** 点击下拉箭头*/selectImg.onclick = function () {console.log(selectItem.style.display);if(selectItem.style.display == 'none' || selectItem.style.display == ''){selectItem.style.display = 'block';}else{selectItem.style.display = 'none';}}content.onclick = function () {if(selectItem.style.display == 'none' || selectItem.style.display == ''){selectItem.style.display = 'block';}else{selectItem.style.display = 'none';}}var lis = selectItem.getElementsByTagName('li');for(var i = 0; i < lis.length; i++){lis[i].onclick = function () {console.log(this.innerHTML,this.getAttribute('data-value'));content.innerText = this.innerHTML;selectItem.style.display = 'none';}}
</script>
</html>

原生js实现select下拉框选择相关推荐

  1. html下拉框 js选中,js实现select下拉框选择

    最近在做一个项目需要兼容到ie不同版本,在使用select时遇到了各种问题.后来索性就自己使用原生js实现了这样一个下拉框,话不多说,直接上代码吧. 自定义select *{ margin: 0; p ...

  2. js控制html下拉框select的选择,js实现select下拉框选择

    最近在做一个项目需要兼容到ie不同版本,在使用select时遇到了各种问题.后来索性就自己使用原生js实现了这样一个下拉框,话不多说,直接上代码吧. 自定义select *{ margin: 0; p ...

  3. element select 自动展开_原生js 让select下拉框自动展开 可用size 属性来代替展开动作...

    找遍全网都没一个比较好的例子!!! 什么获得焦点事件,或者添加一个点击事件都不能使下拉框自动展开 最后用标签的siz属性 定义和用法 size 属性规定下拉列表中可见选项的数目. 如果 size 属性 ...

  4. 获取html下拉菜单selected,原生js获取select下拉框的selected的option项

    一. 使用 原生js,获取select标签下属性有selected的option项. 先写一个select标签如下: TEXT-aaaaa TEXT-bbbbb 原生js获取select标签这个 对象 ...

  5. 下拉框选中状态html,js中select下拉框选中

    怎么用js动态 设置select中的某个值为选中值 select 中的某个options为新建,但在子页面新建一个选项时怎么能提交新用JS动态设置select的方法如下: 手动通过原生JS来实现: / ...

  6. js填充select下拉框并选择默认值

    /* 使用json数组填充下拉框并复选 *//* 初始化下拉框数据 */ var jsonStr = { "data": [] }; for (var str in JsonStr ...

  7. js中select下拉框重置_Web测试中需要注意的16个小细节

    随着Internet和Intranet/Extranet的快速增长,Web已经对商业.工业.银行.财政.教育.政府和娱乐及我们的工作和生活产生了深远的影响.许多传统的信息和数据库系统正在被移植到互联网 ...

  8. js中select下拉框重置_如何利用CSS3制作炫酷的下拉框

    很多小伙伴都不清楚CSS3是做什么?用途是什么? 接下来我就给展示一个css3制作一个炫酷下拉框.其实不只是这些,还有很多. CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,200 ...

  9. js往select下追加html,js给select下拉框赋值

    JS如何动态给select的option赋值? New Document function change (){ var sel = document.getElementById('sel'); s ...

最新文章

  1. 在数据库创建表的时候,时间设置为什么类型,会随着每次提交的时间发生变化
  2. DALSA线阵CCD相机开发 之 opencv读取图片
  3. parted如何将磁盘所有空间格式化_CentOS下大于2T的硬盘格式化问题
  4. CentOS7 install google-chrome-stable
  5. 符缓冲流复制Java文件
  6. JSch - Java Secure Channel : java 代码实现服务器远程操作
  7. cmd如何默认以管理身份运行
  8. Ags 9.3 文档逐步上线
  9. 转载-使用Nodepad++来编辑我们服务器的配置文件
  10. 正襟危坐说--操作系统(肆):线程
  11. plsql dev中Dynamic Performance Tables not accessible分析解决(转载)
  12. Linux文件目录命令,有这些就够了?
  13. js数组去重(for循环去遍历源数组)
  14. java numberformat异常_java – 解析货币值失败的NumberFormat
  15. Echart地图的省级,以及所有地市级下载与使用
  16. 中国书籍出版情况分析:2020年中国书籍出版总印数为65.2亿册(张),其中社科人文类占书籍94.8%[图]
  17. 下载慢怎么办?(域名遭到dns污染处理方法)
  18. 计算机信息安全管理实验教程答案,“信息安全”课程习题及参考答案
  19. 网站运行原理及开发流程
  20. linux下route路由设置命令详解

热门文章

  1. Java 8 集合排序的 10 个姿势
  2. 每日学习——4.4号
  3. 记录一次排查进程莫名其妙被杀死的排查过程
  4. wyAPP苹果APP 技术支持Email:zcj331@163.com
  5. 小程序: 代码包过大
  6. Primavera P6打补丁patch,从19.12.0.0升级到19.12.11.0
  7. 数据库自增id没有从0开始
  8. 无线传感器网络(特点,挑战和应用)
  9. LED芯片漏电原因分析
  10. Complex复数类