1.select 用来做什么?

select 用于实现下来下拉列表,其 html 结构是这样的:  

  1. <select name="city" id="city">
  2. <option value="1">南京</option>
  3. <option value="2">上海</option>
  4. <option value="3">北京</option>
  5. <option value="4">重庆</option>
  6. </select>

实现的效果如页面:http://qingyuan.to8to.com/ 的选择城市的下拉菜单.

2.实现自定义样式的下拉列表

通常进入页面的时候,下拉菜单的选项有一个需要是默认被选中的。这可以通过在默认被选中的 option 项上添加  selected="selected" 来实现。如:

  1. <select name="city" id="city">
  2. <option value="1">南京</option>
  3. <option value="2">上海</option>
  4. <option value="3" selected="seleced">北京</option>
  5. <option value="4">重庆</option>
  6. </select>

则默认选中的城市是北京这个城市.

通常,设计师给我们的设计稿上会给下拉 select 一个设计,但这个设计通常和 浏览器自带的样式不一样,另外,各个浏览器间,对 select 的默认样式也是不一样的。 这个时候我们需要清除各个浏览器间的默认样式,然后根据设计稿来对 select 排版.

那么如何清除 select 的默认样式呢,参考代码如下:  

  1. select {
  2. /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/
  3. border: solid 1px #000;
  4.  
  5. /*很关键:将默认的select选择框样式清除*/
  6. appearance:none;
  7. -moz-appearance:none;
  8. -webkit-appearance:none;
  9.  
  10. /*在选择框的最右侧中间显示小箭头图片*/
  11. background: url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center transparent;
  12. /*为下拉小箭头留出一点位置,避免被文字覆盖*/
  13. padding-right: 14px;
  14. }
  15. /*清除ie的默认选择框样式清除,隐藏下拉箭头*/
  16. select::-ms-expand { display: none; }

这里有一个在线的参考示例:http://jsbin.com/yuxame/4/edit?html,css,output

参考链接1:http://uplifted.net/programming/change-default-select-dropdown-style-just-css/

参考链接2:http://ourjs.com/detail/551b9b0529c8d81960000007

3.获取下拉列表中选中的值

 当用户选中下拉列表中的某一个选项后我们需要获取到用户选中的这个选项的值。

1) 当用 jquery  来实现选中这个需求时,代码可以这样写:

  1. $("#select1 option:selected").val();

 2) 当用 zepto 来实现这个需求时,代码需要这样写:

  1. $('option').not(function(){ return !this.selected })

这样写的原因是:  

  zepto 是基于 标准浏览器来开发的,但是  $('option:selected') 这个选择器并不被标准浏览器所支持。

参考链接:https://github.com/madrobby/zepto/issues/503

下拉框 select的更多相关文章

  1. jQuery对下拉框Select操作总结

    jQuery对下拉框Select操作总结 转自网络,留做备用 jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change( ...

  2. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  3. JQuery操作下拉框 select

    要实现这种效果: html代码 1<script src="js/jquery-1.7.2.min.js"></script> 2 <table> ...

  4. 下拉框select中option居中样式

    下拉框select中option居中样式 text-align:center;text-align-last:center;

  5. 【jQuery获取下拉框select、单选框radio、input普通框的值和checkbox选中的个数】

    radio单选框:name属性相同 <input type="radio" id="sp_type" name="p_type" va ...

  6. 吾八哥学Selenium(四):操作下拉框select标签的方法

    我们在做web页面自动化测试的时候会经常遇到<select></select>标签的下拉框,那么在Python里如何实现去操作这种控件呢?今天就给大家分享一下这个玩法.为了让大 ...

  7. html之多行文本textarea 及下拉框select(12)

    1.多行文本 多行文本使用textarea标签,默认值需要写在中间,和input标签不同,name属性用于后台获取数据(request.POST.get(meno)) <body> < ...

  8. Java+selenium 如何定位下拉框select

    场景:需要进行下拉选择定位元素.   一.select菜单       select也是比较常见的,selenium封装了以下方法, 创建select WebElement selector = dr ...

  9. JS模拟下拉框select

    最近做的一个项目有下拉框 同事都是用的是美化控件,但是用美化控件当然是好 但是网上找的一个控件不知道扩展性怎么样?对以后的维护会不会造成有影响?比如我想增加一个功能或者减少一个功能会不会影响?还有就是 ...

随机推荐

  1. SQL有三个类型的索引,唯一索引 不能有重复,但聚集索引,非聚集索引可以有重复

    重要: (1) SQL如果创建时候,不指定类型那么默认是非聚集索引 (2) 聚集索引和非聚集索引都可以有重复记录,唯一索引不能有重复记录. (3) 主键 默认是加了唯一约束的聚集索引,但是也可以在主键 ...

  2. Java多线程(五) —— 线程并发库之锁机制

    参考文献: http://www.blogjava.net/xylz/archive/2010/07/08/325587.html 一.Lock与ReentrantLock 前面的章节主要谈谈原子操作 ...

  3. P2461 [SDOI2008]递归数列

    题目描述 一个由自然数组成的数列按下式定义: 对于i <= k:ai = bi 对于i > k: ai = c1ai-1 + c2ai-2 + ... + ckai-k 其中bj 和 cj ...

  4. MT【152】不患寡而患不均

    ((清华2017.4.29标准学术能力测试1) $a_1,a_2,\cdots,a_9$ 是数字$1$到$9$ 的一个排列,则 $a_1a_2a_3+a_4a_5a_6+a_7a_8a_9$ 的最小值 ...

  5. 【BZOJ4591】【Shoi2015】超能粒子炮

    Description 传送门 Solution ​ 记\(a=\lfloor\frac n p\rfloor\),\(b=n\%p\).我们尝试使用Lucas定理展开这些组合数,寻找公共部分.以下除 ...

  6. 使用cmstp绕过应用程序白名单

    默认情况下,AppLocker允许在文件夹中执行二进制文件,这是可以绕过它的主要原因.已经发现,这样的二进制文件可以很容易地用于绕过AppLocker和UAC.与Microsoft相关的二进制文件之一 ...

  7. python之旅:三元表达式、列表推导式、生成器表达式、函数递归、匿名函数、内置函数

    三元表达式 #以下是比较大小,并返回值 def max2(x,y): if x > y: return x else: return y res=max2(10,11) print(res) # ...

  8. c语言条件编译和预编译

    转自http://www.cnblogs.com/rusty/archive/2011/03/27/1996806.html 一.C语言由源代码生成的各阶段如下: C源程序->编译预处理-> ...

  9. Git7:使用Gitlab管理远程仓库

    目录 1.安装 2.gitlab基本配置 3.gitlab的邮件配置 3.1.使用本地的postfix发送邮件 3.2.使用邮件发送模板 3.3.使用腾讯企业邮箱配置发送邮件 3.4.使用163邮箱来 ...

  10. C++ 注册表编程

    原文 C++ 注册表编程 1.基础知识 注册表的组织方式跟文件目录比较相似,主要分为根键.子键和键值项三部分,与文件目录对应的话就是根目录.子目录和文件.分别介绍一下这三部分: (1)根键.分为5个, ...