常常會遇到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