前几天发了一篇关于javascript获取select值的方法,后来发现有另一种实现方法,所以就都发出来比较一下:

方法一:通过获取option标签的value值来确定:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>select</title>
</head>
<body><form id="form1" name="form1"><select id="s1" name="s1" onChange="printTest();"> <option selected="selected" value="0" >选项一</option><option value="1">选项二</option><option value="2">选项三</option></select><input type="submit" value="button"/></form><script type="text/javascript">    function printTest() {var oSelect = document.getElementById('s1');var ind = oSelect.value; var val = oSelect.value; var tex = oSelect.options[oSelect.value].text; alert('ind = ' + ind + '\nval = ' + val + '\ntext = ' + tex); } </script> </body> </html>

这个方法需要为每个option标签定义一个value,而且value的值应为“0 1 2…”这样排序。

方法二:用javascript原装的selectIndex属性实现:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>select</title>
</head>
<body><form id="form1" name="form1"><select id="s1" name="s1" onChange="printTest();"> <option selected="selected" value="1" >选项一</option><option value="2">选项二</option><option value="3">选项三</option></select><input type="submit" value="button"/></form><script type="text/javascript">    function printTest() {var oSelect = document.getElementById('s1');var ind = oSelect.selectedIndex; var val = oSelect.options[oSelect.selectedIndex].value; var tex = oSelect.options[oSelect.selectedIndex].text; alert('ind = ' + ind + '\nval = ' + val + '\ntext = ' + tex); } </script> </body> </html>

这种方法就相对比较简单,也不需要设置value值了。

然后再说下如何实现自定义select样式,实现这个样式我认为需要实现4点功能:

1.select的效果,就是点击右边按钮打开下拉框,点击下拉框内容或右边按钮或页面其他位置会收回下拉框;

2.模拟select里的select属性不要用到value值的,这里可以考虑用 li 标签的index属性来代替;

3.模拟select选中某项时会记录该项value值,可以结合第二点把value值放在变量里;

4.模拟form表单里提交时会把select当前选中的option标签的value值传送给后台,还有复位的功能。

关于JS获取select值的两种实现方法相关推荐

  1. js获取每个月最后一天的两种方法

    每次遇到不太熟悉的东西,就会莫名的心虚,如果再有需求确实需要,还会有反抗情绪,就比如说昨天的一个需求. 需求细节 报表数据项加链接,需要把起止时间携带到链接地址上,方便在对应地址的页面回显数据.不过报 ...

  2. js对象取值的两种方式及区别

    var obj = {abc:"ss",nn:90}; var v1 = obj.abc;//使用点的方式 var v2 = obj["abc"];//使用中括 ...

  3. html 获取title值,分享两种获取WEB标题title的方法

    如何获取HTML页面的标题?下面本篇文章就来给大家介绍一下使用javascript获取HTML文档标题的方法,希望对大家有所帮助. 方法一:使用title属性 title 属性可返回当前文档的标题( ...

  4. js获取classname值_利用js获取元素class值的两种方法

    我们有时为了达到某种效果,需要以元素的class值为条件做判断. 我们如何利用JavaScript获取元素class的值?我们先看下面代码: x=document.getElementsByTagNa ...

  5. 小程序获取用户信息的两种方法

    小程序获取用户信息的两种方法 第一种使用 getUserProfile 代码示例 第二种使用 头像昵称填写 相信大家之前也经常使用open-data获取用户的头像和昵称吧,但微信的这个改编意味着我们要 ...

  6. js循环添加事件的两种方法

    js循环添加事件的两种方法 选择下拉列表中的一个li将文本传到框中 问题:写此二级菜单时用到的方法不好,对此进行优化 原始js代码: <script>// 思路:1.点击下拉框a时,ul中 ...

  7. html中获取modelandview中的json数据_从Bitmap中获取YUV数据的两种方式

    从Bitmap中我们能获取到的是RGB颜色分量,当需要获取YUV数据的时候,则需要先提取R,G,B分量的值,然后将RGB转化为YUV(根据具体的YUV的排列格式做相应的Y,U,V分量的排列) 所以这篇 ...

  8. JS区分中英文字符的两种方法

    JS区分中英文字符的两种方法: 正则和charCodeAt()方法. 正则无疑是最强大的判断各种条件的方法, 最近也在研习它, 虽然枯燥, 但仍有乐趣. 用它来判断一个双字节的中文字符也是轻而易举地. ...

  9. 获取html下拉菜单selected,原生js获取select下拉框的selected的option项

    一. 使用 原生js,获取select标签下属性有selected的option项. 先写一个select标签如下: TEXT-aaaaa TEXT-bbbbb 原生js获取select标签这个 对象 ...

最新文章

  1. win7旗舰版下配置IIS服务器
  2. 普通页面使用vue.js心得
  3. 【400】numpy.pad 为数组加垫(迷宫类题目)
  4. 《基于Windows 7特性的程序开发系列》视频分享
  5. C++知识点44——类的继承概述
  6. python反射机制_详解python之反射机制
  7. HBase总结(十一)hbase Java API 介绍及使用示例
  8. 013_JavaScript函数
  9. 人工智能产业链深度透析—产业应用医疗篇
  10. 拼多多上线“女装11.11爆款必买团”活动 一款打底裤一天卖出4.2万单
  11. osm数据下载 python_用Python编写小工具下载OSM路网数据
  12. python实例100例下载-Python的100个练习实例免费下载
  13. linux播放csf文件
  14. flash cs6 快捷键
  15. 数学建模之SPSS应用——聚类分析
  16. 虚拟化之Proxmox VE虚拟机创建及模板制作
  17. C语言解析FLM(ELF)格式文件
  18. (VBA)Word中对选中的行(代码行)自动编号并修改注释的颜色
  19. java任意长度获取随机数
  20. ganache命令行安装

热门文章

  1. python学习实例(4)
  2. Windows的命令行窗口运行Python时,如何清屏?
  3. android 线性布局蒙层,Android开发 - 掌握ConstraintLayout(一)传统布局的问题
  4. 使用oprofile分析性能瓶颈
  5. 设置 shell 脚本中 echo 显示内容带颜色
  6. [Git高级教程(二)] 远程仓库版本回退方法
  7. vue 各组件 使用 Demo
  8. mariadb数据库增删改查
  9. Confluence 6 访问你的宏正文(body)
  10. 关于idea修改当前使用的git账户的问题