複選框組的全選、全不選點擊兩次後,attr()不生效、checkBox狀態不改變問題

複選框組的全選、全不選點擊兩次後,attr不生效、checkBox狀態不改變問題,最後發現attr和prop的區別
<input type="checkbox" name="chk_all" id="chk_all" />全選
<input type="checkbox" name="chk_list" id="chk_list_0" value="0" />
<input type="checkbox" name="chk_list" id="chk_list_1" value="1" />
<input type="checkbox" name="chk_list" id="chk_list_2" value="2" />
<input type="checkbox" name="chk_list" id="chk_list_3" value="4" />

點擊全選/全不選框,JS中方法如下:
$("#chk_all").click(function () {
	var isCheck = $("input[name='chk_all']").is(':checked');
        //alert(isCheck);
        if (isCheck) {
        	$("input[name='chk_list']").prop("checked", true);
        }
        else {
                $("input[name='chk_list']").prop("checked", false);
        }
 });
至於使用attr()方法不可以反覆改變複選框的選中情況,是因爲attr()是用來改變元素的attributes屬性的,而prop()是用來改變元素properties屬性的,當涉及到boolean值時,attributes在頁面加載的時候就被設置,並且一直保持初始值,而properties則存儲着元素屬性的當前值。所以,要在頁面加載後動態更新的話,使用prop()方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章