2011-03-22 56 views
0

我有一個asp.net頁面使用數據表jQuery控件來顯示數據....控件只適用於我強制刷新後的樣式...這可能是一些愚蠢的,但在此刻我我無法弄清楚。 這種情況發生在IE和Firefox ...我檢查代碼的螢火,並不能找到任何失蹤.... 這是我在做什麼...jquery控件丟失樣式

 $(document).ready(function() { 
     $('.datepicker').datepicker({ 
      changeMonth: true, changeYear: true, 
      showOn: "both" 

     }); 

     //buttons 
     $("button, input:submit").button(); 

     $('#srchGrid').dataTable({ 
      "bJQueryUI": true, 
      "sPaginationType": "full_numbers", 
      "aoColumns": 
      [ // select columns that should not be sorted or searchable 
      //{ "bSortable": false, "bSearchable": false }, 
       { "bSortable":true}, 
       {"bSortable":true}, // strip HTML tags before sorting this column 
       { "bSortable":true}, 
       {"bSortable":true}, 
       {"bSortable":true}, 
       {"bSortable":true}, 
       {"bSortable":true}, 
       { "bSortable": false} 
      ] 
     }); 

    }); 

明顯的風格正在喪失對回發....

+0

我們看一些代碼,我們不是魔術師知道什麼'錯了:) – Bakudan 2011-03-22 17:33:34

+0

在IE瀏覽器...它的工作原理在兼容模式下... – 2011-03-22 18:02:35

回答

1

得到它....問題是,該頁面正在通過一個局部回傳部分呈現僅更新數據表....因此初次JavaScript是不會再解析並且由於整個頁面不加載樣式都會丟失....

來解決這個問題....請執行下列操作....

$(function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     function EndRequestHandler(sender, args) { 

      $('.datepicker').datepicker({ 
       changeMonth: true, changeYear: true, 
       showOn: "both" 




      }); 

      // $('#grdSearchResults').single_double_click(SelectRow, DoubleClickRow); 
      $('#srchGrid tbody tr').dblclick(function() { 

      }); 

      //buttons 
      $("button, input:submit").button(); 

      $('#srchGrid').dataTable({ 
       "bJQueryUI": true, 
       "sPaginationType": "full_numbers", 
       "aoColumns": 
      [ // select columns that should not be sorted or searchable 
       //{ "bSortable": false, "bSearchable": false }, 
       {"bSortable": true }, 
       { "bSortable": true }, // strip HTML tags before sorting this column 
       {"bSortable": true }, 
       { "bSortable": true }, 
       { "bSortable": true }, 
       { "bSortable": true }, 
       { "bSortable": true }, 
       { "bSortable": false } 
      ] 


      }); 

     } 
    }); 
0

你是否在文檔就緒語句中設置你的樣式?

一些東西像:

$(function(){ 

    //set your style where like: 
    $("#obj").css("color","#00FF00"); 

}); 
+0

是的...數據表正在被設置在document.ready中... – 2011-03-22 17:42:43

+0

你能發佈一個示例代碼來更好地識別你的問題嗎?它也可以幫助你揭示更詳細的技術環境(是該.net)問是導致「數據表」的名稱? – 2011-03-22 17:49:25

0

爲你的使用.NET,你的clientID的不能被第一時間由於某種原因呈現,嘗試用不同的方式關注着客戶端渲染聲明你選擇您srchGrid對象的ID:

$("#" + <%=srchGrid.ClientID %>).dataTable({ ...