常常会遇到js控制radio选中和切换的问题javascript
以前一直使用的是checked属性来完成的java
可是如今发现这个属性有个大问题.net
今天就是用js给选中radio的赋值,使用的$().attr("checked",true);blog
当切换的时候,把name相同的radio的attr("checked",false),再把要选中的radio.attr("checked",true);事件
可是问题来了,每一个radio只能被赋值一次,当第二次给他赋值的时候,赋不上值ip
后来发现,checkbox在这种状况下会出现同样的问题get
因而仔细查了一下这个属性发现了问题input
w3cshool上关于这个属性的介绍it
能够看到,关键点在于被预先选定的input元素io
也就是说这个属性原来就是打算页面加载的时候为了让radio有一个默认的值而增长的一个属性,这样有了这个属性的input在页面加载的时候就是选定的
因此当要切换input的时候,这个属性显然就不太合适了
因此在使用js对radio进行赋值切换的时候,推荐你们使用
1.$().prop("checked",true)
使用prop方法并搭配checked属性实现js点击radio
prop方法适用于set和get值为true/false的属性的方法如checked selected readyonly
并且不须要对未点击的radio作处理 很方便
2.$().click()
这个方法就比较干脆,直接出发点击事件,不会出现问题
这两个方法效果上同样
from:http://blog.csdn.net/u014267351/article/details/50333425