我的jsp页面上运行了一个jqGrid,到目前为止我喜欢这个网格的所有功能。现在我尝试探索事件功能。我试图将一个函数附加到网格的onSelectRow事件,但是当我点击网格的任何一行时没有任何作用。你能告诉我为什么吗?
我正在使用jqGrid 3.6。我是否需要引用任何其他JavaScript库以使其有效?
我的网格显示加载了数据,但是当我点击任意一行时,没有任何反应。
以下是我的剧本:
<script src="javascript/jquery-1.3.2.js" type="text/javascript"></script>
<script src="javascript/ui.core.js" type="text/javascript" ></script>
<script src="javascript/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="javascript/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="javascript/ui.multiselect.js" type="text/javascript"></script>
<script src="javascript/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
url:'admin.htm',
datatype: 'xml',
mtype: 'GET',
colNames:['ID', 'data 1','data 2'],
colModel :[
{name:'ID', index:'ID', hidden:true},
{name:'data 1', index:'data 1', width:90},
{name:'data 2', index:'data 2', width:80, align:'right'}
],
rowNum:10,
rowList:[10,20,30],
sortname: 'ID',
sortorder: 'desc',
viewrecords: 'true',
caption: 'Administration', width:"920",
shrinkToFit:'false', }
);
jQuery("#list").jqGrid({
onSelectRow: function(id){ alert('Selected row ID ' + id); }
});
</script>
我的网格显示加载了数据,但是当我点击任意一行时,没有任何反应。
答案 0 :(得分:7)
shrinkToFit
之后需要删除额外的逗号。但在解决之前,为什么要在以后添加onSelectRow处理程序而不是作为网格定义的一部分?您可以在网格创建过程中添加它:
shrinkToFit:'false',
onSelectRow: function(id){
alert('Selected row ID ' + id);
}
});
答案 1 :(得分:0)
您可能缺少一些jqGrid依赖项(它是模块化的,默认配置不包含其许多功能)。尝试在jqGrid的完整包中做同样的事情。另外,请务必检查JS错误控制台是否有破损迹象。
答案 2 :(得分:-1)
我发现这是onSelectRow的一个例子,发现除非我真的将它移到原始声明中,否则我遇到了问题