如何用js实现将当前点击的单选按钮变为选中状态?

目前单选按钮继承了父元素的一个点击事件,本身的点击无效了,所以给他单独写一个点击事件。但是用this.checked=true;没有点击效果,可是将this改为其他的单选按钮,那么那个单选按钮会变为选中,为什么设置成自己就不行呢?
对了我用的是jquery

<div class="parentlist">
<td class="tal"><input type="radio" name="ddgl1" id="ddgl1_0" value="radio">
<input type="radio" name="ddgl1" id="ddgl1_1" value="radio">
<input type="radio" name="ddgl1" id="ddgl1_2" value="radio"></div>

<script>
$('.parentlist').find(':radio').click(function () {
this.checked=true;
return false;
});
</script>

代码如下:

function doGender(gender) {

  if (gender == "男") {

    gel("radionan").checked = true;

  } else {

    gel("radionv").checked = true;

  }

}

扩展资料

JS基础代码:

//定义数组 

var pageIds = new Array(); 

pageIds.push('A'); 

数组长度 

pageIds.length; 

//shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 

var a = [1,2,3,4,5]; 

var b = a.shift(); //a:[2,3,4,5] b:1 

//unshift:将参数添加到原数组开头,并返回数组的长度 

var a = [1,2,3,4,5]; 

var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 

//注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。 

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-13
js取单选框的值需要循环遍历判断checked属性是否为真。
<!--html-->
<form id="list" method="post" action="">
<input type="radio" name="user" value="1">1
<input type="radio" name="user" value="2">2
<input type="radio" name="user" value="3">3
</form>
<!--js-->
<script language="javascript">
function usubmit(action){//获取radio的value的方法
var radios = document.getElementById("list").user;//获取id为list下的所有name为user的值的集合
for(var i=0;i<radios.length;i++){//循环值得集合
if(radionum[i].checked){//通过checked属性判断是否被选中
userid = radionum[i].value//将被选择的radio的值赋给变量userid
}
}
alert(userid)//弹出被选中的radio的值
}
</script>本回答被网友采纳
第2个回答  2012-07-20
$('.parentlist').find(':radio').each('click',function (){
this.checked = true;
return false;
});

遍历!本回答被网友采纳
第3个回答  2012-07-19
能贴出代码来看看吗
不然没法判定this接收的是哪个按钮追问

就是当前鼠标点击的那个按钮

追答

不能贴代码吗

追问

已经帖了
最后的return false是为了阻止它继承div的click事件,现在已经阻止继承了,但是自身的选中没有实现

追答

刚刚测试了一下。
其实你事件写了干嘛的呢。
单选按钮点击本来就是会选中的。。
有点疑惑

相似回答