法一、

你可以直接通过修改 select 的 size 属性来实现,但是这样比较丑,很明显;
原来:

修改 size:

跟原生比丑在两点:

  1. 位置上移了
  2. 滚动条出现了

法二、

比较好的实现,就是通过 js clone 一个 select,原来的 select 暂且称为 selectA,克隆后的 select 暂且称为 selectB;

题主这边点击 img 的时候,修改 selectB 的 size,这个时候option就都出来了,然后把它往下移到selectA 下面,解决了位置的问题;

然后修改宽度和overflow属性,一般情况下,比如 option 少于 10条时,不显示滚动条;大于 10 条时,再显示滚动条;这样就模拟了selectA 的点击情况,解决了滚动条的问题;

最后再监听 selectB 的 change 事件来修改 selectA 的值;

demo

参考文档:

Simulate click on select element with jQuery

最新文章

  1. c语言结构体&常指针和常量指针的区别
  2. php手册杂记
  3. jquery 实现邮箱输入自动提示功能:(一)
  4. (IOS)Swift Music 程序分析
  5. Jacoco远程统计代码覆盖率
  6. TOP30专访:捕鱼达人陈昊芝
  7. bzoj 3158 千钧一发(最小割)
  8. 浙大pat 1048 题解
  9. apache代理转发
  10. [SCOI 2016]幸运数字
  11. Linux~学习笔记目录索引
  12. day16,模块 , 用户管理系统 , 购物车程序 , 分页显示.
  13. ASP.Net在64位环境开发部署常见问题
  14. 阿里云服务器上安装mysql的详细步骤
  15. MySQL 5.6 GTID 原理以及使用
  16. linux 停止对某个端口的监听
  17. 王彪-20162321《程序设计与数据结构2nd》-第十一周学习总结与实验报告
  18. OAF_OAF Framework页面分析(概念)
  19. HDFS原理解析(总体架构,读写操作流程)
  20. 高性能web服务器(热死你)Resin Linux的安装、配置、部署,性能远超Nginx支持Java、PHP等

热门文章

  1. sql server数据库查询超时报错
  2. create table like 和create table select 比较
  3. maple minimax函数
  4. Linux:命令执行控制&&与||
  5. ashx上传姿势
  6. C语言 · 删除数组中的0元素
  7. EAGAIN、EWOULDBLOCK、EINTR与非阻塞 长连接
  8. HDFS的实现机制
  9. cpio -H newc参数详解
  10. HttpHandler简单示例