jqGrid - 是不是可以在 dblClickRow 上获取对象属性?
Posted
技术标签:
【中文标题】jqGrid - 是不是可以在 dblClickRow 上获取对象属性?【英文标题】:jqGrid - Is it possible to get object properties ondblClickRow?jqGrid - 是否可以在 dblClickRow 上获取对象属性? 【发布时间】:2021-06-13 04:58:33 【问题描述】:我有以下 jqGrid:
我进行 AJAX 调用以在该网格上显示元素。我想在网格(同一选项卡)上显示更多项目并进行了另一个 AJAX 调用。
所以,我创建了 2 个数组。第一个数组存储 Ajax Call 1 的结果,第二个数组存储 Ajax Call 2 的结果。
我将这些数组串联起来并显示在网格上:
var test3 = test1.concat(test2);
thegrid.addJSONData(test3);
到目前为止一切顺利,唯一的问题是,当我想双击网格上的项目时,它只能为每个项目使用相同的路径,这意味着它只能打开一个表单,不能打开不同的表单。
那是因为当点击网格时,它调用了这个函数:
ondblClickRow: function (rowid, iRow, iCol, e)
onDoubleClickGrid(rowid, iRow, iCol, e, divname, listname);
这是整个函数:
function onDoubleClickGrid(rowid, iRow, iCol, e, divname, listname, useFormToOpen)
var rowData = $("#" + divname).getRowData(rowid);
var curID = rowData.Id;
var useForm = "EditForm.aspx";
if (checkNull(useFormToOpen)!="")
useForm = useFormToOpen;
var curPath = "/MM/Lists/" + listname;
// var curPath = "/nderungsantrag/Lists/" + listname;
var url = curPath + "/" + useForm + "?ID=" + curID;
openInDialog(dlgWidth, dlgHeight, true, true, true, url);
我尝试使用标志,但这些在此处不起作用,因为对象都在合并数组中,并且无法区分它们。
是否可以在dblClickRow上获取被点击元素的对象值? 因为那时我可以使用 for 循环并检查对象的属性。根据它具有的属性,我可以更改路径。还是有其他方法可以做到这一点?
【问题讨论】:
嗨,你能告诉我如何用虚拟数据使它可以运行吗? 【参考方案1】:ondblClickRow 有一个参数事件(4 个)。在这里你可以得到这样的元素(如果我理解正确的要求):
ondblClickRow : function (rowid, iRow, iCol, e)
var target = e.target || e.srcElement; // this is what you need
....
您的 curPath 是一个常量值和一个变量的组合
var curPath = "/MM/Lists/" + listname
如果 listname 变量在双击该行时没有改变,您将始终拥有相同的 curPath。我看不到你双击行时是否更改它。
【讨论】:
以上是关于jqGrid - 是不是可以在 dblClickRow 上获取对象属性?的主要内容,如果未能解决你的问题,请参考以下文章
jqGrid - 更改过滤器/搜索弹出表单 - 在页面上平展 - 不是对话框