3
我在表格中有簡單的複選框。這是複選框標記,因爲我在代碼中看到它:Chrome複選框不會更改
<input type="checkbox" id="iFact123" onchange="submit_status_change(123,$(this).prop('checked'));" >
現在,例如在Firefox中,此工作正常。在Chrome中,發生以下情況:
- 當單擊複選框時,複選框看起來不會更改爲選中/取消選中。它保持不變。至少在視覺上
submit_status_change()
運行良好,如果我重新加載頁面,該元素被加載爲檢查(這是從數據庫現在的信息)。由於此函數從$(this).attr('checked'))
獲取信息,因此必須在參數發送時至少檢查元素 - 它看起來似乎不正確。
現在任何人都有任何想法,或遇到這樣的問題?
如果你認爲它有什麼用提交功能,那就是:
function submit_status_change(id, val){
//$.post('something.php',{'change_status':id, 'status':val}, function(){});
}
UPDATE:attr
改爲prop
現在,Chrome改變複選框,至少在視覺上。事件似乎並沒有發生。
火狐:
TypeError: $(...).prop is not a function
[Break On This Error]
submit_tech_status(123,$(this).prop('checked'));
UPDATE2:我切斷了一些代碼。現在提交功能非常清晰。 Firefox與prop
錯誤,鉻打印沒有錯誤,但不運行提交功能。與之前不同的是,Chrome中的複選框似乎沒有被選中或取消選中,但功能正常。
使用'.prop( '檢查')''而不是.attr( '檢查')',或'。是( ':勾選')'。 – 2013-03-04 09:17:53
爲什麼? '.attr('checked')'可能會阻止實際更改? – 2013-03-04 09:24:04
'.attr'顯示屬性的值,'.prop'則反映屬性。閱讀答案在http://stackoverflow.com/questions/5874652/prop-vs-attr – 2013-03-04 09:25:28