js控制radio選中


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM