2011-09-30 113 views
0

我的jqgrid工作在Firefox 7和IE9,但不是在IE8或Firefox 3.6.6。我正在使用最新版本的jqgrid。jqgrid不工作在IE8和Firefox 3.6.6

這裏是我已經包含了腳本文件:

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/themes/ui-lightness/jquery.ui.all.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/ui.jqgrid.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/ui.multiselect.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/themes/ui-lightness/jquery-ui-1.8.16.custom.css")" rel="stylesheet" type="text/css" /> 
    <script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/grid.locale-en.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Scripts/jquery.jqGrid.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Content/ui/minified/jquery.ui.core.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Content/ui/minified/jquery.ui.widget.min.js")" type="text/javascript"></script> 
    <script src="@Url.Content("~/Content/ui/minified/jquery.ui.mouse.min.js")" type="text/javascript"></script> 

這是我的情況下,腳本,如果它需要:

$(document).ready(function() { 

     $('#jobs').jqGrid({ 
      url: '/SearchJob/Jobs/', 
      postData: { 
       'JobTitle': function() { return $('#JobTitle').val(); }, 
       'City': function() { return $('#City').val(); }, 
       'SelectJobType': function() { return $('#SelectJobType option:selected').val(); }, 
       'SalaryStartRange': function() { return $('#SalaryStartRange').val(); }, 
       'SalaryEndRange': function() { return $('#SalaryEndRange').val(); }, 
       'SelectCategory': function() { return $('#SelectCategory option:selected').val(); }, 
       'SelectIndustry': function() { return $('#SelectIndustry option:selected').val(); }, 
       'CompanyName': function() { return $('#CompanyName').val(); }, 
       'Keywords': function() { return $('#Keywords').val(); }, 
       'SelectSalaryType': function() { return $('#SelectSalaryType option:selected').val(); } 
      }, 
      datatype: 'json', 
      mtype: 'POST', 
      colNames: ['Title', 'Category', 'Company Name', 'Location', 'Salary Range', 'Date Posted'], 
      colModel: [ 
       { name: 'Title', index: 'title', width: 150, align: 'left', formatter: 'showlink', formatter: linkformatter }, 
       { name: 'Category', index: 'Category', width: 150, align: 'center' }, 
       { name: 'CompanyName', index: 'CompanyName', width: 150, align: 'center' }, 
       { name: 'CombinedLocation', index: 'CombinedLocation', width: 150, align: 'center' }, 
       { name: 'salaryRange', index: 'salaryRange', width: 150, align: 'center' }, 
       { name: 'DatePosted', index: 'DatePosted', width: 150, align: 'center' }, 
      ], 
      shrinkToFit: true, 
      rownumbers: true, 
      loadonce: false, 
      pager: jQuery('#jobPager'), 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'jobid', 
      sortorder: "desc", 
      viewrecords: true, 
      imgpath: '', 
      caption: 'Jobs', 
      width: '100%', 
      height: "100%" 
     }); 
     $('#search').click(function() { 
      $('#jobs').trigger('reloadGrid'); 
      return false; 
     }); 



    }); 

    linkformatter = function (cellValue, opts, rowObject) { 
     console.log(rowObject); 
     return "<a href='@Url.Action("JobView", "RecruiterProfile")/" + rowObject[rowObject.length - 1] + "'>" + cellValue + "<a/>"; 
    } 

附件是我在IE8和Firefox 3.6得到的錯誤:

刪除截圖,因爲我不允許發佈。如果將來有人下降,那麼控制檯會出現錯誤。從我的格式化程序功能中刪除,它工作!

更新:如果我禁用了Firebug,則該錯誤僅在Firefox 3.6中提供。我啓用Firebug,一切都按預期工作。我究竟做錯了什麼?我是否包含錯誤的腳本文件?

回答

3

我想你應該寫..

window.console.log(rowObject); 

在地方的

console.log(rowObject); 

,或者你可能會從這裏的答案....

http://www.sitepoint.com/forums/showthread.php?575320-how-not-to-let-console.log%28%29-to-cause-error-on-IE-or-other-browsers

+0

給我評論,如果它可以幫助你或不! – sikender

+0

非常感謝老兄!!!!!!!!!!!!!!!!!!!!!!!!!!!!你救了我的後背.. – Jaggu

+0

你應該接受我的問題..如果它可以幫助你.. – sikender

1
console.log(rowObject); 
IE8或F中的

irefox 3.6.6,它沒有控制檯對象。當你刪除它時它會工作。

1

您answerd幾乎對自己在最後的 「更新」 部分你的問題:你必須測試

if (window.console) { 
    window.console.log(rowObject); 
} 

if (console) { 
    console.log(rowObject); 
} 

因爲console並不總是存在。

+0

謝謝奧列格。實際上它在本地主機上運行,​​但錯誤發生在客戶端的瀏覽器中:p。 – Jaggu

+0

@Jaggu:不客氣! – Oleg