Приведенный ниже код прекрасно работает в Chrome и работает с перебоями в IE7, а вовсе не в IE8 ... Изначально я не отключал / не включал флажки, но так как я заметил, что данные IE не обновляются должным образом, я подумал, что это может быть невозможно не отставать от пользователей, щелкающих слишком быстро, поэтому я пытался отключить все флажки при каждом нажатии, а затем снова включить их после успешного выполнения запроса. Именно тогда стало очевидно, что поведение странное и случайное.
edit Я только что очистил кеш в IE и перезагрузил страницу. Я был в состоянии проверить и снять все флажки один раз успешно. Как только каждое действие было применено к каждой коробке, оно перестало работать. Это проблема с кешированием?
$('input[type=checkbox]').live('click', function () {
//disable all checkboxes until it's done saving
$('input[type=checkbox]').attr('disabled', true);
if ($('input[id=' + $(this).attr('id') + ']:checked').length) {
//do checked stuff including ajax call
$.ajax({
url: 'EditService.svc/updatedatachecked',
type: 'GET',
data: { "code": code },
dataType: 'json',
success: function () {
//reenable all checkboxes
$('input[type=checkbox]').removeAttr('disabled');
},
error: function (a, b, c) {
$('.EditStatus').html("Database Error!");
}
} else {
//do unchecked stuff including ajax call
$.ajax({
url: 'EditService.svc/updatedataUNchecked',
type: 'GET',
data: { "code": code },
dataType: 'json',
success: function () {
//reenable all checkboxes
$('input[type=checkbox]').removeAttr('disabled');
},
error: function (a, b, c) {
$('.EditStatus').html("Database Error!");
}
}
});