Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JqGrid需要超链接-需要通过Jquery捕获价值_Jquery_Jqgrid - Fatal编程技术网

JqGrid需要超链接-需要通过Jquery捕获价值

JqGrid需要超链接-需要通过Jquery捕获价值,jquery,jqgrid,Jquery,Jqgrid,我的代码中包含以下内容: { name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} }, 当我点击PNum时,它会转到以下actionresult我的控制器: /Program/EditMicro 相反,我希望通过Jquery捕获关于所选内容(所选ID)的信息 在发送到下面的

我的代码中包含以下内容:

      { name: 'ID', index: 'ID', width: 40 , formatter: 'showlink', search: false, formatoptions: { baseLinkUrl: '/Program/EditMicro'} },
当我点击PNum时,它会转到以下actionresult我的控制器:

    /Program/EditMicro
相反,我希望通过Jquery捕获关于所选内容(所选ID)的信息 在发送到下面的ActionResult之前,我想做一些json

    /Program/EditMicro
那么,总而言之,是否有方法捕获超链接点击的价值,然后我可以在Jquery中捕获它


提前感谢

您可以将以下内容附加到jqGrid声明中,以防止触发默认的单击操作

.click(function (event) { event.preventDefault(); })
然后,您可以通过

$('a').click(function () { //ToDo: Extra actions before submitting to controller });
您还可以构建自己的自定义格式化程序,以便在构建网格时向要显示的超链接添加额外信息,从而完成该工作

编辑:工作示例,在该示例中,我禁用了默认的单击功能,并绑定了我自己的以显示警报(例如,显示您将在何处编写自己的函数以执行您想要执行的额外工作)。

在大多数情况下,使用类似

格式化程序:“showlink”,
格式选项:{
baseLinkUrl:“/Program/”,
表演:“编辑微”,
idName:“myId”
}
在这种情况下,链接将生成如下


如果您在操作中具有行的id,则可以直接从数据库中获取所需的任何其他附加信息

或者,您可以使用中描述的简单技巧。您可以定义CSS类

.myLink{文本装饰:下划线;光标:指针;}
然后,您可以使用如下所示的自定义格式化程序

formatter: function (cellValue, options, rowObject) {
    return "<span class='myLink'>" + cellValue + "</span>";
},
cellattr: function () {
    return " title=\"Click here to go to EditMicro\"";
}

如果需要,您可以使用
getCol
getRowData
从单击的行获取任何其他数据,并将信息附加到目标URL。

标记,这不起作用。当我点击超链接并点击它时,它甚至没有向我显示警告信息感谢标记,但是你怎么能捕获点击的内容呢。与Note1、Note2等类似,在上面的示例中,它正在传入当前行的参数,以便您可以返回并获取该行,然后对其进行操作,例如,
idRowData=$('#gridName').jqGrid('getRowData',rowid)
(如果您查看示例中每个注释的href)感谢Oleg,您上面使用的beforeSelectRow方法工作得很好。我还有一个问题与此有关。一旦用户转到window.location=“/Program/EditMicro/”+encodeURIComponent(rowid);然后填写表单,我会让用户返回到他们在网格上的页面。这样,他们就不需要说去102页了。有没有一个简单的方法可以做到这一点?Thanks@NatePat:不客气!您可以使用中描述的方法。它允许在
localStorage
中保存jqGrid的状态。如果用户返回或只是再次打开同一页面,jqGrid的先前状态将被恢复。@Vieenay:不客气!我很高兴我也能帮助你。