Jqgrid 包含指向所有行而不是特定行的href链接的网格
我制作了一个网格,其中最后一列包含一个链接重发。此链接将邮件重新发送到行中提到的一方。当我点击该链接时,它会将邮件重新发送到网格中的所有各方,而不是该行。。下面是我的代码Jqgrid 包含指向所有行而不是特定行的href链接的网格,jqgrid,Jqgrid,我制作了一个网格,其中最后一列包含一个链接重发。此链接将邮件重新发送到行中提到的一方。当我点击该链接时,它会将邮件重新发送到网格中的所有各方,而不是该行。。下面是我的代码 $(document).ready( function(){ var lastselsignStatusGrid ; var signStatusGridurl = $('#signatureStatus_ctxPath').val() + '/rest/retrie
$(document).ready(
function(){
var lastselsignStatusGrid ;
var signStatusGridurl = $('#signatureStatus_ctxPath').val() + '/rest/retrieveSignStatus';
var maintainsignStatusGridurl = $('#signatureStatus_ctxPath').val() + '/rest/maintainSignStatus';
jQuery('#signStatusGrid').jqGrid({
url: signStatusGridurl,
datatype: "json",
mtype: 'GET',
altRows:true,
loadonce: true,
colNames:['Name','Role','Signature status','Due Date','Signed Date','Email','EmailId','PartyId'],
colModel:[
{name: 'name',index: 'name',sortable:true,search:true,sorttype: 'text', searchoptions:{sopt:['eq','ne','bw','cn']}},
{name: 'role',index: 'role',sortable:true,search:true,sorttype: 'text', searchoptions: {sopt:['eq','ne','bw','cn']}},
{name: 'signed',index: 'signed',sortable:false,search:false,sorttype: 'text'},
{name: 'dueDate',index: 'dueDate',formatter: 'date', formatoptions: {"srcformat":"m/d/Y","newformat":"m/d/Y"}, unformat: unformat, sortable:false,search:false,sorttype: 'date'},
{name: 'signedDate',index: 'signedDate',sortable:false,search:false,sorttype: 'text'},
{name: 'resend',index: 'resend',formatter: customLinksignStatusresend, unformat: unformat, sortable:false,search:false,sorttype: 'text'},
{name: 'emailAddress',index: 'emailAddress',hidden:true },
{name: 'partyId',index: 'partyId',hidden:true}
],
rowNum:10,
rowList:[10,20,30],
multiselect: false,
viewrecords: true,
emptyrecords: "No record present",
imagepath: "js/themes/redmond/images",
autowidth: true,
caption:''
});
function customLinksignStatusresend(cellValue, options, rowObject){
if (rowObject[2] == "Complete") {
return "";
} else{
//return rowObject[5];
//return '<a href="#">' + "Resend</a>";
return '<a href="#Test">' + cellValue + '<a>';
}
}
$(document).delegate('#signStatusGrid .jqgrow td a[href="#Test"]', 'click', function ()
{
var localGridData = $("#signStatusGrid").jqGrid('getGridParam','data');
var postData = JSON.stringify(localGridData);
var rowDetails="";
var selectedRows = $('#signStatusGrid').jqGrid('getGridParam', 'data');
var rowsArray = new Array();
var rowId = '';
for(var i=0;i<localGridData.length;i++)
{
var rowData = localGridData[i];
var emailAddr = rowData.emailAddress;
var partyId = rowData.partyId;
rowDetails += partyId+":" +emailAddr+ ',';
$.ajax({
url: $('#signatureStatus_ctxPath').val()+'/rest/resendEmail?partyId='+ partyId,
datatype : "json",
contentType: "application/json; charset=utf-8",
type:"POST",
error : function(xhr, textStatus, errorThrown) {
alert(errorThrown);
},
success : function(response, textStatus, xhr) {
alert("email resent successfully");
}
});
HideLayer();
}
});
$(文档)。准备好了吗(
函数(){
var lastselsignStatusGrid;
var signStatusGridurl=$('signatureStatus_ctxPath').val()+'/rest/retrieveSignStatus';
var maintainsignStatusGridurl=$('signatureStatus_ctxPath').val()+'/rest/maintainSignStatus';
jQuery(“#signStatusGrid”).jqGrid({
url:signStatusGridurl,
数据类型:“json”,
mtype:'获取',
阿尔特罗斯:是的,
有一次:是的,
colNames:['Name','Role','signaturestatus','Due Date','Signed Date','Email','EmailId','PartyId',],
colModel:[
{name:'name',index:'name',sortable:true,search:true,sorttype:'text',searchoptions:{sopt:['eq','ne','bw','cn']},
{name:'role',index:'role',sortable:true,search:true,sorttype:'text',searchoptions:{sopt:['eq','ne','bw','cn']},
{name:'signed',index:'signed',sortable:false,search:false,sorttype:'text'},
{name:'dueDate',index:'dueDate',formatter:'date',formattoptions:{“srcformat”:“m/d/Y”,“newformat”:“m/d/Y”},未格式化:未格式化,可排序:false,搜索:false,排序类型:'date'},
{name:'signedDate',index:'signedDate',sortable:false,search:false,sorttype:'text'},
{name:'ressend',index:'ressend',格式化程序:customlinksignstatusressend,unformat:unformat,sortable:false,search:false,sorttype:'text'},
{name:'emailAddress',index:'emailAddress',hidden:true},
{name:'partyId',index:'partyId',hidden:true}
],
rowNum:10,
行列表:[10,20,30],
多选:错,
viewrecords:是的,
emptyrecords:“不存在记录”,
imagepath:“js/themes/redmond/images”,
自动宽度:正确,
标题:“”
});
函数customLinksignStatusresend(单元格值、选项、行对象){
如果(rowObject[2]=“完成”){
返回“”;
}否则{
//返回rowObject[5];
//返回';
返回“”+单元格值+“”;
}
}
$(document).delegate(“#signStatusGrid.jqgrow td a[href=“#Test”]”,“click”,函数()
{
var localGridData=$(“#signStatusGrid”).jqGrid('getGridParam','data');
var postData=JSON.stringify(localGridData);
var rowDetails=“”;
var selectedRows=$('signStatusGrid').jqGrid('getGridParam','data');
var rowsArray=新数组();
var rowId='';
对于(var i=0;i,您正在遍历网格中的所有行,这就是邮件被发送到所有收件人的原因
要实现您想要实现的目标,最简单的方法是使用jqGrid的功能向特定行emailId发送邮件。您可以添加其他条件,以便仅在单击链接时调用它
onCellSelect: function (id, iCol, cellContent, e) {
if (iCol == 'resend') {
var emailAddr = $('#signStatusGrid').getCell(id, 'emailAddress');
var partyId = $('#signStatusGrid').getCell(id, 'partyId');
var rowDetails += partyId + ":" + emailAddr + ',';
$.ajax({
url: $('#signatureStatus_ctxPath').val() + '/rest/resendEmail?partyId=' + partyId,
datatype: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
error: function (xhr, textStatus, errorThrown) {
alert(errorThrown);
},
success: function (response, textStatus, xhr) {
alert("email resent successfully");
}
});
}
},
另一种替代解决方案似乎是创建一个函数,其中包含发送邮件和设置链接,该链接将在jqGrid函数中使用相应的partyId
调用该函数:
gridComplete: function () {
var ids = jQuery("#signStatusGrid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
var partyId = $('#signStatusGrid').getCell(ids[i], 'partyId');
var be = "<a href='#Test' onclick='sendMail(" + partyId + ");' >View Contract</a>";
jQuery("#signStatusGrid").jqGrid('setRowData', ids[i], {
editct: be
});
}
},
var sendMail(partyId) {
$.ajax({
url: $('#signatureStatus_ctxPath').val() + '/rest/resendEmail?partyId=' + partyId,
datatype: "json",
contentType: "application/json; charset=utf-8",
type: "POST",
error: function (xhr, textStatus, errorThrown) {
alert(errorThrown);
},
success: function (response, textStatus, xhr) {
alert("email resent successfully");
}
});
}
gridComplete:函数(){
var id=jQuery(“#signStatusGrid”).jqGrid('getdataid');
对于(变量i=0;i
非常感谢!你救了我一天!:)