思路:
设置一个select容器,把select放在里面并且设置隐藏,放置一个存放选中的文本值,使用ul列表代替option。当列表元素触发click的时候设置对应的option设置选中,并且给select设置value

此次项目select控件是cms生成出来的从前端无法调整样式,所以只能考虑使用js模拟,代码匆忙中完成并未精简,如有更好的方案,还原共同讨论。

案例地址:
http://build2.baiwanx.com.cn/shtzwl201804111782/wsmxztz/index_145.html

具体代码:
HTML结构

<div class="select"><span class="placeholder">我是卖家</span><select id="18444" name="18444"><option value="">==请选择==</option><option value="我是卖家">我是卖家</option><option value="我是买家">我是买家</option></select><dl class="dl"></dl>
</div>

js代码

$('.select').each(function(){var placeholder = $(this).find(".placeholder"),list = $(this).find(".dl"),select = $(this).find("select"),item = select.find("option"),str = '';//获取select的列表组合作为ul的列表item.not(item.first()).each(function(i){str += "<dd value='" + $(this).attr("value") + "'>" + $(this).text() + "</dd>"});list.html(str);//初始化selectplaceholder.text(list.find("dd:first").text());item.eq(1).attr("selected","selected");select.attr("value",list.find("dd:first").attr("value"));
});//绑定click事件
$('.select').on('click', '.placeholder', function(e) {var parent = $(this).closest('.select');if (!parent.hasClass('is-open')) {parent.addClass('is-open');$('.select.is-open').not(parent).removeClass('is-open');} else {parent.removeClass('is-open');}e.stopPropagation();
}).on('click', 'dl>dd', function() {  //列表绑定click事件var parent = $(this).closest('.select'),select = parent.find("select"),i = $(this).index();parent.removeClass('is-open').find('.placeholder').text($(this).text()).attr("value",$(this).attr("value"));select.attr("value",$(this).attr("value"));select.find("option").eq(i+1).attr("selected","selected");
});$('body').on('click', function() {$('.select.is-open').removeClass('is-open');
});

js模拟select控件相关推荐

  1. 菜单向上拉html,模拟select控件,CSS上拉菜单

    模拟select控件,CSS下拉菜单 模拟select控件 html,body{height:100%;overflow:hidden;} body,div,form,h2,ul,li{margin: ...

  2. html下拉列表插件,js+CSS实现模拟华丽的select控件下拉菜单效果

    本文实例讲述了js+CSS实现模拟select控件的下拉菜单效果.分享给大家供大家参考.具体如下: 这是一个JS+CSS技术实现的Select控件效果,模拟出来的,比默认的Select更漂亮,有了这个 ...

  3. jquery 操作服务端控件,select 控件

    <asp:DropDownList ID="ddl" runat="server"></asp:DropDownList> <se ...

  4. 以编程方式在ASP.NET MVC中使用多个HTML Select控件

    目录 介绍 使用代码 使用JQuery 使用Razor和C# 兴趣点 介绍 很多时候,我们使用JavaScript或JQuery代码来操纵HTML控件,却不知道ASP.NET MVC与Razor和C# ...

  5. 四种常见的浏览器内核简介----JS城市选择控件

    一 四种常见的浏览器内核简介 Gecko: Gecko: Netscape6开始采用的内核,后来的Mozilla FireFox (火狐浏览器) 也采用了该内核,Gecko的特点是代码完全公开,因此, ...

  6. 仿苹果 html5 combox,模仿combox(select)控件,不用为美化select烦恼了。

    模仿combox(select)控件,不用为美化select烦恼了. 来源:中文源码网    浏览: 次    日期:2018年9月2日 模仿combox(select)控件,不用为美化select烦 ...

  7. html 控件坐标定位,利用JS改变html控件位置

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 利用JS改变html控件位置 我想写一个贪吃蛇小游戏,所以需要完成蛇的自动移动效果,这就需要改变html控件位置.本来我 ...

  8. ocx js php,JS实现OCX控件的事件响应示例_javascript技巧

    JS支持OCX控件的事件(event),当OCX控件定义的事件发生时,JS可以捕获该事件并对事件进行相应的处理. 个人理解,其实就是事件的响应由谁来完成,OCX控件自身肯定是可以实现的,JS提供的这种 ...

  9. JS给html控件赋值

    <html> <head><title> JS给html控件赋值 </title><script language="javascrip ...

  10. JavaScript操作select控件

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

最新文章

  1. 深度学习 end2end
  2. 2、FreeRTOS任务相关API函数
  3. Android 图书总汇
  4. 【Linux系统编程】 Linux系统调用概述
  5. Nvidia CUDA初级教程6 CUDA编程一
  6. 每日一题(易错):哪些REPEAT_INTERVAL参数能够实现每30分钟运行job
  7. java 判断 继承接口_java基础-接口、继承、多态
  8. mongodb-Configuration
  9. 打算开源一个低代码平台,第三天,包含【工作流,业务流,财务,APQC】。技术站 React,typescript,java,mysql
  10. 隐藏隧道通信:Socks 隧道
  11. python报错: list object has no attribute shape的解决
  12. php邮箱必填,discuz关闭邮箱注册必填选项
  13. html如何转换成中文,html页面中如何将编码转换成中文的示例代码
  14. ElasticSearch设置字段的keyword属性
  15. 华东理工大学计算机专业研究生,华东理工大学硕士研究生培养方案计算机科学与技术一级学科(学科代码:0812)信息科学与工程学院...
  16. POCO C++库学习和分析 -- 序
  17. 新浪小编为你介绍留声机的古与今
  18. Adapter适配器与具体应用
  19. 有偏估计 无偏估计
  20. 什么是区块链?详细介绍区块链。

热门文章

  1. 实时抓取图片保存到oracle数据库中、读取、注册和卸载服务等等
  2. 使用reportlab生成条码
  3. ueditor-图片上传是报错
  4. Oracle Tablespace Transportation
  5. BW Delta (增量)更新方法 .
  6. 64. magento enable error report
  7. 14.使用 CSS 显示 XML
  8. 66. 查询分页数据
  9. html5中的web worker用法
  10. php中的数值型字符串相加 相比较( ==)