checkbox標籤的一些用法(jQuery操作)

//監聽選中事件
$("#checkbox1").change(){
    //判斷是否爲選中狀態
    //也可以這樣$(this).prop("checked")
    if($(this).is(":checked")){
        //do something
    }else{
        //other
    }
}
//改變checkbox的狀態
$("#checkbox1").prop("checked",true);
//或者
$("#checkbox1").prop("checked",false);
//獲取選中的checkbox
var selecteds=$("input:[type='checkbox']:checked");

爲什麼不使用attr()方法?
對於表單元素的checked、selected、disabled等屬性,在jQuery 1.6之前,attr()獲取這些屬性的返回值爲Boolean類型:如果被選中(或禁用)就返回true,否則返回false。

但是從1.6開始,使用attr()獲取這些屬性的返回值爲String類型,如果被選中(或禁用)就返回checked、selected或disabled,否則(即元素節點沒有該屬性)返回undefined。並且,在某些版本中,這些屬性值表示文檔加載時的初始狀態值,即使之後更改了這些元素的選中(或禁用)狀態,對應的屬性值也不會發生改變。

因爲jQuery認爲:attribute的checked、selected、disabled就是表示該屬性初始狀態的值,property的checked、selected、disabled才表示該屬性實時狀態的值(值爲true或false)。

因此,在jQuery 1.6及以後版本中,請使用prop()函數來設置或獲取checked、selected、disabled等屬性。對於其它能夠用prop()實現的操作,也儘量使用prop()函數。

attr()和prop()方法的更多區別:http://www.365mini.com/page/jquery-attr-vs-prop.htm

發佈了31 篇原創文章 · 獲贊 37 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章