本文将介绍select 原生的常用方法,这些都是经过测试,兼容ie6到ie10,及chrome,火狐等,也就是说大部分浏览器都兼容。如果大家发现有不兼容的情况,可以跟我留言。

我们对基本的用法了如指掌后,jQuery、kissy这些框架用起来更方便。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>select用法总结</title>
</head>
<body>
<h3>select的常用方法</h3>
<hr/> <div>
<h3>默认选中某一项,使用option的selected属性</h3>
<select name="test" id="test1">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
</select>
</div> <div>
<h3>js使某一项选中</h3>
<select name="test" id="test2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
var test2 = document.getElementById('test2');
test2.value='3';
//kissy用法
//S.one('#test2').val('3');
</script>
</div> <div>
<h3>事件绑定,获取选中项的值</h3>
<select name="test" id="test3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
var test3 = document.getElementById('test3');
test3.onchange = function(e){
//经常看到有的代码这样写this.options[this.selectedIndex].value
//其实不用那么复杂,this.value就可以取到当前选中项的值,所有浏览器都支持
var val = this.value; //var val = test3.value;
alert(val);
}
</script>
</div> <div>
<h3>获取选中项的index</h3>
<select name="test" id="test4">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
var test4 = document.getElementById('test4');
test4.onchange = function(e){
var idx = this.selectedIndex; //从0开始
alert(idx);
}
</script>
</div>
<div>
<h3>获取选中项的text</h3>
<select name="test" id="test5">
<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>
</select>
<script>
var test5 = document.getElementById('test5');
test5.onchange = function(e){
var selOption = this.options[this.selectedIndex]; //var val = test3.value;
// ie,chrome 下调用 innerText 其他浏览器如firefox下调用 textContent
var text = selOption.innerText || selOption.textContent; //兼容性
//所有浏览器都支持w3c标准的innerHTML,如果text里有标签可以通过正则替换
var html = selOption.innerHTML;
alert(text);
alert(html);
}
</script>
</div> </body>
</html>

代码地址:http://jsfiddle.net/6o1fdvm0/ 大家可以在这里测试

html select用法总结的更多相关文章

  1. 网络通信 --> select()用法

    select()用法 头文件 #include <sys/time.h> #include <sys/types.h> #include <unistd.h> 定义 ...

  2. python+selenium七:下拉框、选项框、select用法

    # from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimpo ...

  3. golang学习之select用法

    早期的select函数是用来监控一系列的文件句柄,一旦其中一个文件句柄发生IO操作,该select调用就会被返回.golang在语言级别直接支持select,用于处理异步IO问题. select用法同 ...

  4. 数据库Oracle的select用法(部分)

    Oracle的select用法(部分): 1.查询所有: select * from employees; 2.加上where子句:用选择限制行 select * from employees whe ...

  5. 每天玩转3分钟 MyBatis-Plus - 6. select 用法

    每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一) 每天玩转 ...

  6. select用法&原理详解(源码剖析)(转)

    今天遇到了在select()前后fd_set的变化问题,查了好久终于找到一个有用的帖子了,很赞,很详细!!原文链接如下: select用法&原理详解(源码剖析) 我的问题是: 如下图示:在se ...

  7. select用法

    每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...

  8. shell编程中的select用法

    select 语句 select表达式是bash的一种扩展应用,擅长于交互式场合.用户可以从一组不同的值中进行选择: select var in ... ; do break; done .... n ...

  9. 非阻塞式socket的select()用法

    Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只 是习惯写诸如 connect.accept.recv或recvfrom这样的阻塞程 ...

随机推荐

  1. Oracle函数:求两个数的最大公约数

    CREATE OR REPLACE FUNCTION GETGYS(NUM1 NUMBER, NUM2 NUMBER) RETURN NUMBER IS RESULTNUM NUMBER; NUM3 ...

  2. opencv开发的程序分发给客户时所需要的dll文件

    这里主要讲在其他裸机,没有搭建开发环境机器上运行自己开发的程序. 为了测试,我专门用visualbox搭建了一个虚拟机(主机和虚拟机都是win7系统) 在发给别人程序运行出现错误:msvcp100d. ...

  3. 如何学习ios开发

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Franz Fang链接:http://www.zhihu.com/question/20264108/answer/3026 ...

  4. 判断一个面(Polygon)是不是矩形

    判断一个面是不是矩形在GIS中很长用的功能,那么怎么判断一个面是不是矩形呢. 这里先要弄懂一些概念,面是什么,先看OGC标准的定义. 我的英文水平有限,(有翻译更好的请留言,如果翻译的准确将被采纳)大 ...

  5. Leetcode OJ : Merge k Sorted Lists 归并排序+最小堆 mergesort heap C++ solution

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  6. pip 安装python环境及打包

    0.安装虚拟环境 pip install virtualenv   virtualenv env1   source env1/bin/activate   1. 将包依赖信息保存在requireme ...

  7. HW6.23

    public class Solution { public static void main(String[] args) { boolean[] box = new boolean[101]; f ...

  8. HDU-4604 Deque DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4604 因为deque最后的数列是单调不降的,因此,我们可以枚举数列中的某个中间数Ai,如果从中间数Ai ...

  9. jqgrid 中设置列不排序

    背景 今天在做系统的功能时,当时有这么个需求:在添加了一行数据时,原本的排序的自动就不能再排序,也就是排序失效. 1. 使用onSortCol事件禁止排序列 当时使用了初始化时,使用onSortCol ...

  10. JS 计算日期天数差

    function dayDiffer(startDate,endDate){ console.info((endDate.getTime - startDate.getTime())/(24*60*6 ...