js 获取checkebox值

lxbgg 2013-03-13 10:00:04


如图,怎么用js判断是否选中,而且只能选择一个,而且获取选中的值
...全文
245 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyzy15 2013-03-14
  • 打赏
  • 举报
回复
用radio会比较方便 如果只是要checkbox的形式也可以,就是需要控制只能选一个

<HTML>
 <HEAD>
  <TITLE> 选择 </TITLE>
 </HEAD>

 <BODY>
<TABLE width="300">
<TR>
	<TD>
		checkbox方式:
		<BR><INPUT TYPE="checkbox" NAME="inp_chk" value="地图渲染" onclick="only1(this)">地图渲染
		<BR><INPUT TYPE="checkbox" NAME="inp_chk" value="图表展示" onclick="only1(this)">图表展示
		<BR><INPUT TYPE="button" VALUE="提交" ONCLICK="fun('chk')">
	</TD>
	<TD>
		radio方式: 
		<BR><INPUT TYPE="radio" NAME="inp_rad" value="地图渲染">地图渲染
		<BR><INPUT TYPE="radio" NAME="inp_rad" value="图表展示">图表展示
		<BR><INPUT TYPE="button" VALUE="提交" ONCLICK="fun('rad')">
	</TD>
</TR>
</TABLE>

  <SCRIPT LANGUAGE="JavaScript">
  <!--
	//控制checkbox只能选一个
	function only1( curobj ) {
		var chks = document.getElementsByName('inp_chk');
		for (var i=0; i<chks.length; i++)
			if (chks[i].checked && chks[i] != curobj) chks[i].checked = false;
	}
	//判断选的是哪个
	function fun( type ){
		var inps = document.getElementsByName('inp_'+ type);
		var i;
		for ( i=0; i<inps.length; i++) {
			if (inps[i].checked) {
				alert("选择的是:"+ inps[i].value);
				break;
			}
		}
		//没有选中则提示
		if (i == inps.length) alert("请选择!");
	}
  //-->
  </SCRIPT>
 </BODY>
</HTML>

ILOVE_ASPNET 2013-03-14
  • 打赏
  • 举报
回复
循环判断也可以, 但是我的做法是索性全部选 设置为false,再单独设置当前那个为选中就好
ILOVE_ASPNET 2013-03-14
  • 打赏
  • 举报
回复
如果只能选择一个 用for 属性试试看,不过也不一定可以,试试吧, 其次另外一种方法就是给所有checkbox 加一个name $("input[name='checkboxName']").click(function(){ $("input[name='checkboxName']").attr("checked","false") $(this).attr("checked","true") ; });
Kilin_Zhang 2013-03-14
  • 打赏
  • 举报
回复
无代码,无真相
athrunzero 2013-03-13
  • 打赏
  • 举报
回复
如果是二选一的话,为啥不用 radio 啊?单选的话,明显 radio 好。
luofx623600186 2013-03-13
  • 打赏
  • 举报
回复
你可以给他们取同一个name,通过document.getElementsByName获取元素,在通过.checked=check属性判断是否选中.2选一的话用radio吧。如果多选的话,可以给个全局变量判断是否有多选,循环一次就+1,如果大于1的话就return false
bbjbepzz 2013-03-13
  • 打赏
  • 举报
回复
多选一的话,还是用radio吧,判断元素的checked属性。
洋小葱 2013-03-13
  • 打赏
  • 举报
回复

//得到radio的值
		function getRadioValue(){
			var sex=document.getElementsByName("sex");
		   	var sexValue;
		   	for(var i=0;i<sex.length;i++){
		    	if(sex.item(i).checked){
		        	sexValue=sex.item(i).getAttribute("value");  
		   			break;
		  		}else{
		  			continue;
		  		}
		   	}
		   	alert(sexValue);
		};



男:<input type = "radio" name = "sex" value = "男" />
女:<input type = "radio" name = "sex" value = "女" />
<input type="submit" onclick="getRadioValue()"> 

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧