JQuery attr («проверено», «проверено») работает только один раз
У меня проблема с поиском причины для следующего поведения jquery / checkbox.
$( this.obj + ' table.sgrid-content > thead > tr > th > input.select_all' ).on( 'click' , {grid:this} , function(event){
var grid = event.data.grid;
if( $(this).is(':checked') ){
$( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).attr('checked','checked');
$( grid.obj + ' .sgrid-content > tbody > tr > td > input.select ' ).parents('tr').addClass('ui-state-highlight');
} else {
$( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).removeAttr('checked');
$( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).parents('tr').removeClass('ui-state-highlight');
}
});
Код предназначен для работы следующим образом: - нажмите на input.select_all, чтобы вызвать событие - если флажок input.select_all: добавить атрибут флажок для всех флажков, помеченных как .select в table.sgrid-content - если нет: удалить флажок атрибут из всех элементов input.select.
Еще одна простая сеточная функция. И это работает. Странная часть, это работает только один раз. Я имею в виду, что вы можете выбрать все флажки и отменить их выбор. После этого операция «Выбрать все» перестает работать.
Еще одна странная вещь, когда я проверяю элементы dom с помощью firebug, они все становятся отмеченными = 'флажками', как и должны, но они отображаются и ведут себя так, как их не проверяли.
Селекторы работают как надо. Часть кода с добавлением / удалениемщ-состоянии выделить работает все время.
Слово объяснения:сетка - это объект, который я передаю, чтобы получить grid.obj (в основном ID ceratain div)
Пожалуйста, дайте мне свое мнение.