1. 程式人生 > >js控制radio選中

js控制radio選中

屬性 技術 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選中