我需要在jqgrid行上双击执行一些服务器端代码.... 我尝试在客户端代码上执行此操作,似乎双击事件没有触发....
.....
$('#grdSearchResults').jqGrid({
ondblClickRow: function (rowid,iRow,iCol,e) {
var data = $('#grdSearchResults').getRowData(rowid);
DoubleClickRow(data);
}
});
...
DoubleClickRow需要设置一些隐藏字段,其中包含从该行中提取的数据,然后需要点击同一页面上的一个按钮来启动服务器端事件......
我正在使用最新的jqgrid和jqjuery版本......
有谁知道如何做到这一点....顺便说一下它需要在ie和firefox上工作... 感谢
答案 0 :(得分:1)
我想通过新的API访问jquery网格,你需要做的事情,
jQuery('#grdSearchResults').jqGrid("getRowData",rowid)
你可能想首先抛出一些警告,以确保它正在发射,但看看你是否在萤火虫中获得了js错误。
我假设DoubleClickRow会进行某种类型的ajax调用......
答案 1 :(得分:0)
好吧....我尝试了不同的东西......我能够解决这个问题......
function DoubleClickRow(rowid,iRow,iCol,e) {
var txtLastResearchedDate = $('#txtLastResearchedDate');
txtLastResearchedDate.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 6);
var txtHiddenID = $('#txtHiddenID');
txtHiddenID.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 5);
var txtHiddenCaseName = $('#txtHiddenCaseName');
txtHiddenCaseName.value = rowid;
var txtHiddenCaseNumber = $('#txtHiddenCaseNumber');
txtHiddenCaseNumber.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 2);
var txtHiddenCaseFiledDate = $('#txtHiddenCaseFiledDate');
txtHiddenCaseFiledDate.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 3);
var txtHiddenCourtName = $('#txtHiddenCourtName');
txtHiddenCourtName.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 1);
//alert(txtHiddenCaseFiledDate.value + ' \n ' + txtHiddenCaseName.value + ' \n ' + txtHiddenCaseNumber.value + ' \n ' + txtHiddenCourtName.value + ' \n ' + txtLastResearchedDate.value + ' n\ ' + txtHiddenID.value);
$('#<%=btnSelect.ClientID %>').click();
}
所以我把它与代码隐藏本身的客户端事件联系起来...出于某种原因...使用html属性将函数分配给事件给了我运行时javascript错误......
无论如何问题解决了...... @ctrldot感谢您的帮助。