获取select 中有multiple属性,获取选中的值

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title> New Document </title>
 </head>

 <body>

<script language="JavaScript">
  <!--
function checkselect(objname){
	o = document.getElementById(objname);
	t = document.getElementById("output");
	var intvalue="";
	for(i=0;i<o.length;i++){   
		if(o.options[i].selected){
			intvalue+=o.options[i].value+",";
		}
	}
	t.value=intvalue.substr(0,intvalue.length-1);
}
  //-->
  </script>
  <select name="objsel" size=8 multiple>
	<option value="0" selected>请选择...
	<option value="1">测试一
	<option value="2">测试二
	<option value="3">测试三
	<option value="4">测试四
	<option value="5">测试五
  </select>
<input type="button" οnclick="checkselect('objsel');" value="输出">
选中的项目:<input type="text" name="output">
 </body>
</html>

 

 

转:http://zhoujingxian.iteye.com/blog/559804

 

 

/**
* 获取multiple Select的值
* @param obj   multiple select元素
* @returns {Array}

 

*/

 

 

 

    functiongetMultiple(obj){
      var arr = [];
      var options = obj.options;

 

     while (obj.selectedIndex != - 1 ){
            arr.push(options[obj.selectedIndex].value);
            options[obj.selectedIndex].selected = false ;
      }
      return arr;
     }

通过对选中项逐一取消选择,得到选中项的值的数组。这个方法的妙处就在避免了在选项非常多时遍历所有选项(这个遍历对旧版本的浏览器来说会很慢)

用法很简单:

 

var arr =  getMultiple(document.getElementById( 'select_m' ));

 

 

 

\\ do something with arr ...
 
 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值