JS 改变单选框的值。radio.checked=true; 为何改变不了。没反应。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 改变单选框的值。radio.checked=true; 为何改变不了。没反应。相关的知识,希望对你有一定的参考价值。

JS 改变单选框的值。radio.checked=true; 为何改变不了。没反应。

如果要使 单选框选中 需要该复选框的属性 checked 的值为 "checked"  而不是 true

$("#rdo1").attr("checked","checked"); 

还有一点要注意的是  如果要使  复选框 变成没有选中  的话 需要移除checked 属性   或者  checked的属性为false

$("#rdo1").removeAttr("checked");

或者

$("#rdo1").attr("checked","false"); 

就是说 只有checked的属性 为"checked" 时 才是选中状态

还有 一组radio(即name属相相同的radio)只能有一个处于选中状态、查看一下你的其他组的radio是不是name属性设置重复了。


所以你的代码改为  $("#rdo1").attr("checked","checked");   就可以了,下面一段简单示例代码

页面装载完成后把选项2 选中.

<html
<script type="text/javascript" src="./jsfile/jquery-1.10.2.min.js"></script>
<script> 
onload = function () // 装载完成时执行
alert();
$("input[name='vehicle']").eq(0).removeAttr("checked");
    $("input[name='vehicle']").eq(1).attr("checked","checked");

</script> 
<body> 

<form action="form_action.asp" method="get">
<input type="radio"  id ="rd1" name="vehicle" value="Car"  /> I have a car
<input type="radio"  id ="rd1" name="vehicle" value="bus"  /> I have a bus
</form>
</body> 
</html>

参考技术A <!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>last.html</title>
<style type="text/css">
</style>
<script type="text/javascript">
    onload = function ()
    
        var inputs = document.querySelectorAll('input[type=radio]');
        var fun = function (i)
        
            var input = inputs[i];
            if (input.type == 'radio')
            
                input.onclick = function ()
                
                    alert(this.value);
                
            
        
        for ( var i = 0; i < inputs.length; i++)
        
            fun (i);
        
        inputs[0].checked = true;
    
</script>
</head>
<body>
    <input id="radio1" type="checkbox" name="chkbox" value="1" onclick="DoCheck()" />A单元
    <br />
    <input id="radio0" type="radio" name="radio1" value="60" onclick="Do1Check(60,1,1,1)" />1、套餐A。费用:60元
    <br />
    <input id="radio1ww" type="radio" name="radio1" value="199" onclick="Do1Check(199,1,2,1)" />2、套餐B。费用:70元
    <br />
 
    <input id="radio2" type="checkbox" name="chkbox" value="2" onclick="DoCheck()" />B单元
    <br />
    <input id="radio6" type="radio" name="radio2" value="100" onclick="Do1Check(100,2,7,1)" />1、套餐A。费用:100元
    <br />
    <input id="radio7" type="radio" name="radio2" value="800" onclick="Do1Check(800,2,8,1)" />2、套餐B。费用:200元
    <br />
    <input id="radio8" type="radio" name="radio2" value="1399" onclick="Do1Check(1399,2,9,1)" />3、套餐C。费用:300元
    <br />
</body>
</html>

追问


xxxxx

直接在这怎么写代码,不用触发和循环,直接这样用JS修改radio的checked值。

参考技术B <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="input" id="date1" value="2015-6-5" >
<input type="input" id="date2" value="2015-5-8" onkeyup="kk(this)" >
<input type="radio" name="a1" value="对" checked="true">√
<input type="radio" name="a1" value="错">×

<script>
var date1 = document.getElementById('date1').value,
date2 = document.getElementById('date2').value,
radio = document.getElementsByName('a1');
date1 = Date.parse(new Date(date1));
date2 = Date.parse(new Date(date2));

if(date2 > date1)
radio[1].checked = true;
radio[0].checked = false;
else
radio[0].checked = true;
radio[1].checked = false;


</script>
</body>
</html>

如何使用Jquery获取Form表单中被选中的radio值

  Jquery获取选中radio的值方式很多:

1.获取选中值,三种方法都可以:
  $('input:radio:checked').val();
  $("input[type='radio']:checked").val();
  $("input[name='rd']:checked").val();  2.设置第一个Radio为选中值:
    $('input:radio:first').attr('checked', 'checked');
  或者
    $('input:radio:first').attr('checked', 'true');
  注:attr("checked",'checked')= attr("checked", 'true')= attr("checked",    true)  3.设置最后一个Radio为选中值:
  $('input:radio:last').attr('checked', 'checked');
  或者
    $('input:radio:last').attr('checked', 'true');
  4.根据索引值设置任意一个radio为选中值:
  $('input:radio').eq(索引值).attr('checked', 'true');索引值=0,1,2....
  或者
  $('input:radio').slice(1,2).attr('checked', 'true');
  5.根据Value值设置Radio为选中值
    $("input:radio[value=    
    http://www.2cto.com/kf/201110/'rd2'
    ]").attr('checked','true');  或者
  $("input[value=http://www.2cto.com/kf/201110/'rd2']").attr('checked','true');
  6.删除Value值为rd2的Radio
  $("input:radio[value=http://www.2cto.com/kf/201110/'rd2']").remove();
  7.删除第几个Radio
  $("input:radio").eq(索引值).remove();索引值=0,1,2....
  如删除第3个Radio:$("input:radio").eq(2).remove();
  8.遍历Radio
  $('input:radio').each(function(index,domEle)
  //写入代码
  );

参考技术A $("form [type=radio]:checked").each(function(index, element)
alert($(this).val());//被选中radio的值
);本回答被提问者和网友采纳
参考技术B jQuery('form radio:checked').val();

以上是关于JS 改变单选框的值。radio.checked=true; 为何改变不了。没反应。的主要内容,如果未能解决你的问题,请参考以下文章

获取单选框的值有5种方式:

如何使用Jquery获取Form表单中被选中的radio值

jquery操作radio单选按钮checked复选框。

jsp中选择单选框改变下面显示的值,这个代码如何实现

angularjs怎么获取到单选框的值

angularjs怎么获取到单选框的值