GridViewのために行フィルタを埋め込みバインドするポストバックを行った後、すべてのjQuery関数が完全に動作しますグリッドは再びrowfilterに基づいています。私のGridViewはコードから完全に構築され、テーブルとしてレンダリングされます。このポストバックの後、関数mouseover、mouseout、およびテーブル内のテーブル行をクリックしてもはや動作しません。GridViewのjQuery関数がポストバック後に動作しなくなる(マウスオーバー、クリック)
jQuery関数をdocument.ready関数内に配置します。
<tr jQuery1320916="3">
したがって、基本的に、各列の端部(3)の配列とその前にjQueryを使っていくつかのランダムな番号:私はまた、これは、行のHTMLに追加されるポストバック前に気づきました。ポストバックの後、これは行から削除されます。ここで
は、(最初のクリック機能はまだポストバック後に動作しますが、もうGridViewコントロールの機能ではない)私のjQueryのコードの一部です:
$(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のを見つけられないことを発見しました:私はそれをtaskgridの合計IDを記入した場合、
$( 'テーブル[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
この問題を確認してください:http://stackoverflow.com/questions/256195/jquery-document-ready-and-updatepanels –
私のソリューションではUpdatePanelを使用していません。その質問の答えを引用してください:「PageRequestManager更新パネルがページ上にあれば、自動的に利用可能なjavascriptオブジェクトです。 " – user1039394