У меня возникла проблема с поиском следующих действий 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 - если нет: удалите атрибут 'checked' из всех элементов input.select.
Еще одна простая функция сетки. И это работает. Странная часть, она работает только один раз. Под этим я подразумеваю, вы можете выбрать все флажки и отменить их выбор. После этого функция "Выбрать все" перестает работать.
Еще одна странность в том, что когда я проверяю элементы dom с firebug, все они становятся checked = 'checked' attr, как они должны, но они отображают и ведут себя так, как они не были проверены.
Селекторы работают так, как должны. Часть кода с добавлением/удалением ui-state-highlight работает все время.
Слово объяснения: grid - это объект, который я передаю для получения grid.obj(в основном идентификатор ceratain div)
Пожалуйста, дайте мне свое мнение.