Все мои функции jQuery работают отлично при первой загрузке страницы, после того как я выполняю обратную передачу, которая вызывает заполнение фильтра строк для GridView и снова связывает Grid на основе фильтра строк. Мой GridView построен полностью из кода и отображается в виде таблицы. После этого PostBack функция mouseover, mouseout и клик по строкам таблицы в моей таблице больше не работают.
Я размещаю свои функции jQuery внутри функции document.ready. Я также заметил, что перед постбэком это добавляется в html строк:
<tr jQuery1320916="3">
Таким образом, в основном последовательность в конце каждой строки (3) и несколько случайных чисел с jQuery перед ним. После обратной передачи он удаляется из строк.
Вот часть моего кода jQuery (функция первого щелчка все еще работает после PostBack, но функции в GridView больше не работают):
$(document).ready(function(){
//start click function select all
$('input[id$="SelectDeselectAllBox"]').click(function(){
//start if
if($(this).is(':checked')){
$(this).parent().parent().parent().parent().children().find('input:checkbox').attr('checked',true).closest('tr').addClass('SelectedRow')
}else{
$(this).parent().parent().parent().parent().children().find('input:checkbox').attr('checked',false).closest('tr').removeClass('SelectedRow')};
//end if
//end click function select all
});
//highligth hovered row
$('table[id^=taskgrid] tbody tr').mouseover(function () {
$(this).addClass('HightlightRow');
}).mouseout(function () {
$(this).removeClass('HightlightRow');
});
//end document ready
});
Я что-то упустил, заранее спасибо.
Я обнаружил, что jQuery больше не находит мой gridview этим методом:
$ ('table [id ^ = taskgrid] tbody tr'), если я введу полный идентификатор сетки задач, то она сработает. Но это не вариант для меня.
//is everthing checked? start if
if($(this).parent().find('input:checkbox:not(:checked)').length == 0){
$(this).parent().parent().parent().parent().find('input:checkbox:first').attr('checked',true)
}else{
$(this).parent().parent().parent().parent().find('input:checkbox:first').attr('checked',false)};
//end if