js控制radio選中
阿新 • • 發佈:2017-06-30
屬性 技術 select 而且 false 點擊 checked 屬性的方法 $()
經常會遇到js控制radio選中和切換的問題
之前一直使用的是checked屬性來完成的
但是現在發現這個屬性有個大問題
今天就是用js給選中radio的賦值,使用的$().attr("checked",true);
當切換的時候,把name相同的radio的attr("checked",false),再把要選中的radio.attr("checked",true);
但是問題來了,每個radio只能被賦值一次,當第二次給他賦值的時候,賦不上值
後來發現,checkbox在這種情況下會出現一樣的問題
於是仔細查了一下這個屬性發現了問題
w3cshool上關於這個屬性的介紹
可以看到,關鍵點在於被預先選定的input元素
也就是說這個屬性原來就是打算頁面加載的時候為了讓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
js控制radio選中