在添加到jqGrid的每个子网格单元的按钮上未触发onclick事件

在添加到jqGrid的每个子网格单元的按钮上未触发onclick事件,jqgrid,Jqgrid,我在jqGrid的每一行子网格中添加了一个按钮。我只是遵循了内联编辑的文档 我想在单击按钮时调用服务器端代码。但是当我看到firebug时,点击按钮就显示没有请求(没有显示任何url请求) 下面是我的代码 subGridRowExpanded:function(subgrid\u id,row\u id){ var子网格表id、寻呼机id; 子网格\表\ id=子网格\ id+“\ t”; pager_id=“p_”+子网格\u表\u id; $(“#”+子网格id) .html(“”); $m

我在jqGrid的每一行子网格中添加了一个按钮。我只是遵循了内联编辑的文档

我想在单击按钮时调用服务器端代码。但是当我看到firebug时,点击按钮就显示没有请求(没有显示任何url请求)

下面是我的代码

subGridRowExpanded:function(subgrid\u id,row\u id){
var子网格表id、寻呼机id;
子网格\表\ id=子网格\ id+“\ t”;
pager_id=“p_”+子网格\u表\u id;
$(“#”+子网格id)
.html(“”);
$mysubgrid=jQuery(“#”+子网格_表_id);
$mysubgrid.jqGrid({
url:“serversub.php”,
数据类型:“json”,
colNames:['Product Id','Product Name','status','',
宽度:700,
colModel:[{
名称:'productid',
索引:“productid”,
宽度:55
}, {
名称:“productname”,
索引:“productname”,
宽度:90
}, {
名称:'状态',
索引:“状态”,
宽度:80,
搜索:false
}, {
名称:'链接',
索引:'链接',
宽度:80,
搜索:false
}],
rowNum:20,
sortname:'num',
分拣员:“asc”,
gridComplete:函数(){
var id=$mysubgrid.jqGrid('getdataid');
对于(变量i=0;i
我是不是遗漏了什么


谢谢

您在
onclick
中调用的函数只包含全局变量。您不能使用局部
$mysubgrid
变量

我建议您创建所需的按钮,并使用选项
gridview:true
,这将提高网格的性能


此外,我认为您不需要在网格列中插入的按钮上设置任何
onclick
。如果
click
事件为fire,并且
click
事件没有事件处理程序,那么就可以使用
onCellSelect
回调。如果您需要cl的原始DOM对象icked按钮您可以在
e.target

中找到它,谢谢您的回复。是的,我使用自定义格式设置程序添加了该按钮。您是正确的,不需要在事件冒泡时写入单击,但我不希望回调函数中的代码一直发生。它应该只在按钮单击事件时发生。当然,我已经编写了回调onCellSelect,但无论如何都不会发生事件冒泡(我不知道为什么?)。那么如何获取按钮单击事件中的rowid?@poddroid:Of您想为网格体的所有按钮绑定
单击
事件,您只需使用
$(此)。查找(“输入”)。单击(您的EventHandler)
loadComplete
gridComplete
的内部。如果网格中有许多其他按钮,并且需要仅绑定特定按钮,请参阅以及如何查找特定按钮。我建议您另外阅读
onCellSelect
的用法。