私は数年前にjqGridを使用したphp + smartyアプリケーションを作成しました。
これらはバージョン番号です:jQuery 1.2.6, jqGrid 3.2.3
その時はうまくいっていました。
数日前に確認したところ、機能していませんでした。さらに奇妙なことに、それは ie8 で動作し、firefox および chrome ブラウザーでは失敗します。
firefox の firebug コンソールで確認しましたが、次のエラーが表示されます。
TypeError: jQuery(...).jqGrid is not a function
このエラーが突然発生した理由を理解できませんか?
次のファイルを含めました。
<link rel="stylesheet" type="text/css" media="screen" href="jqgrid/themes/style.css" />
<link rel="stylesheet" type="text/css" media="screen" href="jqgrid/themes/basic/grid.css" />
<script src="jqgrid/js/jquery.js" type="text/javascript"></script>
<script src="jqgrid/js/jquery.jqGrid.js" type="text/javascript"></script>
<script src="jqgrid/js/myjqGrid.js" type="text/javascript"></script>
jqGrid コード:
jQuery(document).ready(function(){
jQuery("#superadmin").jqGrid({ // Specify the ID of the Grid Table
url:'jqgrid/superadminusers.php', // URL of PHP file
datatype: "json", // Name of datatype
colNames:['User Id','First Name','Last Name', 'Role', 'Contact','Edit','Delete','Status'], // Column Name in grid
colModel:[ // Field name used in database
{name:'username',index:'username', width:100},
{name:'firstname',index:'firstname', width:120},
{name:'lastname',index:'lastname', width:100},
{name:'role',index:'role', width:100},
{name:'phone',index:'phone', width:80},
{name:'editrow',index:'editrow', width:50},
{name:'deleterow',index:'deleterow', width:50},
{name:'deletebook',index:'deletebook', width:100}
],
pager: jQuery('#divPage'), // ID of Grid DIV
rowNum:10, // Total no of rows that we want to show in grid at a time
mtype: "POST", // method type
height: 200, // height of grid
width: 850, // width of grid
multiselect: false, // set true the multiselect property
rowList:[10,15,20], // set the number of list of rows
imgpath: 'jqgrid/themes/sand/images', // path of images
sortname: 'username', // column name by which grid will be sorted by default
viewrecords: true, // it will show the number of records below the grid
sortorder: "asc",
caption:'Users'
});
});
すべてのファイルのコードを手動で変更する必要があるため、最新の jqGrid バージョンに更新できません。また、私が使用したテーマは、jquery ui テーマでは利用できません。