我的jqgrid在Firefox 7和IE9中工作,但在IE8或Firefox 3.6.6中没有。我正在使用最新版本的jqgrid。
以下是我收录的脚本文件:
<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,一切都按预期工作。我究竟做错了什么?我是否包含错误的脚本文件?
答案 0 :(得分:3)
我认为你应该写..
window.console.log(rowObject);
取代
console.log(rowObject);
或者你可以从这里得到答案......
答案 1 :(得分:1)
console.log(rowObject);
在IE8或Firefox 3.6.6中,它没有控制台对象。当你删除它时,它会正常工作。
答案 2 :(得分:1)
你在上一个“更新”部分的问题上几乎回答了你自己:你必须测试
if (window.console) {
window.console.log(rowObject);
}
或
if (console) {
console.log(rowObject);
}
因为console
并不总是存在。