JS 如何获取radio选中后的值并且不选择也能获取radio的值

以下是网上摘下的文章(未测试但很规范可以模仿)

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>text</title>
        <script>
            var chk = 0;
            window.οnlοad=function (){
                var chkObjs = document.getElementsByName("radio");
                for(var i=0;i<chkObjs.length;i++){
                    if(chkObjs[i].checked){
                        chk = i;
                        break;
                    }
                }
            }
            function check_radio(){
                var chkObjs = document.getElementsByName("radio");
                for(var i=0;i<chkObjs.length;i++){
                    if(chkObjs[i].checked){
                        if(chk == i){
                            alert("radio值没有改变不能提交");
                            break;
                        }
                    }
                }
            }
        </script>
    </head>
    <body>
        <form action='' method='post' οnsubmit='javascript:return check_radio()'>
            <input type='radio' value='1' name='radio' checked='checked'>一;
            <input type='radio' value='2' name='radio'>二;
            <input type='radio' value='3' name='radio'>三;
            <input type='radio' value='4' name='radio'>四;
            <input type='radio' value='5' name='radio'>五;

            <input type=submit value=sub >
        </form>
    </body>
</html>



下面是不做选择获取radio的值

<input type="radio" name="money" value="1" />美元
<input type="radio" name="money" value="2" />日元
<input type="radio" name="money" value="3" />欧元

原生JS方式:(原生DOM操作会把文本也当做一个节点,所以会有nextSibling)

var 美元 = document.getElementsByName("money")[0].nextSibling.nodeValue;
var 日元 = document.getElementsByName("money")[1].nextSibling.nodeValue;
var 欧元 = document.getElementsByName("money")[2].nextSibling.nodeValue;

jQuery方式

$('input[name="money"]:checked').next('span').html();

<input type="radio" name="money" value="1" checked="checked" /><span>美元</span>
<input type="radio" name="money" value="2" /><span>日元</span>
<input type="radio" name="money" value="3" /><span>欧元</span>

<!--正常的情况下,创建复选框或者单选框会使用label将其链接,比如:-->
<input id="radio1" type="radio" name="money" value="1" /><label for="radio1">美元</label>


以下要选择的:

这个只判断有没有选择


function radioValue(){
		var radArr = document.getElementsByName("radiov");
		var radValue = "";
		//alert(radArr.length);
		for(var i=0; i<radArr.length; i++){
			//alert(radArr[i].checked+" "+radArr[i].name + " "+ radArr[i].value);
			if(radArr[i].checked){
				radValue = radArr[i].value;
				
			}
		}
		
		if(radValue != null && radValue != ""){
			alert(radValue);
		}else{
			alert("请选择");
		}
		
	}

<input type="button" value="测试radio中获取数据" οnclick="radioValue();"/>










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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值