[問題] checkbox 預設checked的問題消失

看板Ajax作者時間13年前 (2012/08/03 13:10), 編輯推噓2(206)
留言8則, 5人參與, 最新討論串1/1
我程式大概寫這樣 範例1.<input type="checkbox" onchange="change(this)" /> 範例2.<input type="checkbox" onchange="change(this)" checked='checked' /> function change(obj) { if ($(obj).attr("checked")) alert('xx1'); else alert('xx2') } 如果預設沒有在input裡面加上checked屬性 那在onchange $(obj).attr("checked") 會正確顯示他的值 但是如果是範例2 將checked寫在裡面 則不管怎按 回答的結果都是checked 請問這是怎回事 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc)

08/03 13:38, , 1F
改用prop去判斷
08/03 13:38, 1F

08/03 14:20, , 2F
我用chrome正常耶,你要不要alert($(obj).attr("checked
08/03 14:20, 2F

08/03 14:20, , 3F
看看
08/03 14:20, 3F

08/03 14:32, , 4F
也可以試試看checked='true' 會不會alert出 'true'
08/03 14:32, 4F

08/03 15:57, , 5F
結果是JQuery版本的問題..剛換了1.7.2就沒問題了
08/03 15:57, 5F

08/03 15:57, , 6F
有錯誤的版本是 1.6.4
08/03 15:57, 6F

08/03 22:08, , 7F
同一樓,建議改prop()
08/03 22:08, 7F

08/03 22:47, , 8F
api還是什麼的就已經說不要用attr去設定checked了喔
08/03 22:47, 8F
文章代碼(AID): #1G6rqgX5 (Ajax)