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

JavaScript010

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

如果要使 单选框选中 需要该复选框的属性 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>

看下面代码,你要实现一边输入一边判断的功能吗?

<!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>