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

自定义select

*{

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;

}

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';

}

}

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

js控制html下拉框select的选择,js实现select下拉框选择相关推荐

  1. dplayer js控制 自动全屏_vue 中使用video.js 实现m3u8视频播放格式

    官方文档:https://docs.videojs.com/tutorial-vue.html H5 的 video 标签不支持m3u8视频播放,所以借助于 video.js 1.video 定义与用 ...

  2. js控制网页动态效果

    目录 实现效果 技术点 导航文字高亮实现 左侧菜单栏实现 倒计时实现 轮播图实现 点击小圆点,高亮,图片跟随切换 图自动播放 小圆点冲突问题 鼠标经过与离开效果实现 实现效果 前提:都必须用js来实现 ...

  3. js控制form提交的action

    js控制form提交的action 2008-07-18 20:18 js脚本: <SCRIPT LANGUAGE="javascript"> function doU ...

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

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

  5. dropdownlist下拉框变透明_F.js 更新记录

    2020-10-10 v7.0.0 +支持复选框的单选框样式. -为表格增加checkboxSelectDisplayType属性,为表格列增加checkboxDisplayType属性(仅用于col ...

  6. css div 下拉框内容自适应,div+css模拟select下拉框

    无标题文档 .mod_select ul{margin:0;padding:0;} .mod_select ul:after{ display: block; clear: both; visibil ...

  7. html下拉框代码默认选中状态,select默认不选中 html select 默认不选择

    html select 默认不选择 html中,select会默认选择第一个选项,如果要不选择,可以将第一个选项命名为"==请选择=="或空即可. select简介: select ...

  8. php 获取下拉框选中的文本,jQuery实现select下拉框获取当前选中的文本

    本文主要介绍了jQuery实现select下拉框获取当前选中文本.值.索引以及添加/删除Select的Option项的相关知识,具有很好的参考价值.下面跟着小编一起来看下吧,希望能帮助到大家. 话不多 ...

  9. python select模块安装_python+selenium select下拉选择框定位处理方法

    一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...

  10. Android之解决webview加载第三方网页点击弹不出下拉框(html页面里面的select标签)

    1 问题 决webview加载第三方网页点击弹不出下拉框(html页面里面的select标签),我们访问youtube.com官网,点击网站的视频,点击视频右上角三个点设置,然后点击 播放设置 然后点 ...

最新文章

  1. fetch git pull 切换_每天提交 Git 太烦?直接用 Python 就好了!
  2. 双目立体视觉系统精度分析
  3. js jquery操作的方面xml dom html dom css dom
  4. STP文件服务器,综合监控stp服务器
  5. C++11新特性- for语句
  6. TutorialsPoint 电子书 归档 2017
  7. Ubuntu 下解压tar.xz方法
  8. RAID一个硬盘FAIL。
  9. 传奇私服服务器怎么增加npc,传奇添加NPC的方法以及形象代码计算
  10. 在Windows中安装配置JDK+Eclipse+Maven
  11. 鸿蒙系统是电脑还是手机,鸿蒙系统什么时候能用在电脑上,华为鸿蒙系统什么时候能用...
  12. pytorch实现特征图可视化,代码简洁,包教包会
  13. 自媒体人如何积累素材?素材整理四步法get
  14. java什么时候用静态方法,Java:何时使用静态方法
  15. Windows7瘦身攻略
  16. Git下载安装及环境配置,解决安装包下载慢问题(详细版)
  17. 石油化工智能巡检机器人 巡检管理工作规范化、科学化
  18. 程序员最喜欢用的 8 种代码对比工具,值得收入囊中
  19. [nlp] 负采样 nce_loss
  20. leetcode-树-删点成林

热门文章

  1. 成为一名优秀UI设计师 一般要学习哪些内容
  2. 适合运动时戴的蓝牙耳机有哪些?运动无线耳机推荐
  3. collectors 求和_Java8中Collectors求和功能的自定义扩展
  4. 爬虫入门实践之多线程爬虫
  5. GETSHELL学习总结
  6. pyecharts 饼图绘制
  7. RHEL6系统上配置磁盘阵列(RAID)
  8. redis如何后台启动 -Redis daemonize
  9. 一月 Z 星月度速览 | Milvus 2.0 GA 来了、开源的 embedding 框架与社区 Towhee 官宣……...
  10. 山东大学Web课设一——课程网站的搭建