我想用新参数重新加载jqgrid。我正在使用.setPostData()。请看下面我的代码。它总是在.setPostData()给我错误。我错过了什么?格式?
$('table[id$="'+tabID+'_BBGrid"]').jqGrid({
url:'/Controls/Advertiser/BBControlNew.ascx.ashx?action=getBBData&advertiserID=' + $('#advertiser_id').text() + '&startDate=' + $('input[id$="' + tabID +
'_FromCalBuyBack_CalendarTbx"] ').val() + '&endDate=' + $('input[id$="' + tabID + '_ToCalBuyBack_CalendarTbx"] ').val(),
datatype: 'json',
mtype: 'POST',
height:'100%',
width:'100%',
colNames: result.colNamesData,
colModel: result.colModelData,
//pager: '#RequestLeadspager',
rowNum : 100,
shrinkToFit :false,
...........
function BuyBackGridReload(tabID,NoSelectedValues)
{
$('table[id$="'+tabID+'_BuyBackGrid"]').setPostData({
advertiserID:$('#advertiser_id').text(),
CampaignsDdlSelectedValue: $('select[id$="CampaignDdl"] option:selected').val(),
startDate: $('input[id$="'+tabID+'_FromCalBuyBack_CalendarTbx"] ').val(),
endDate: $('input[id$="'+tabID+'_ToCalBuyBack_CalendarTbx"] ').val(),
NoSelectedValue: NoSelectedValues
}).trigger("reloadGrid");
};
我有搜索btn。我在搜索btn中获取NoSelectedValues的值。这是按钮点击的代码。 $( '输入[ID $ = “ '+ tabID +' _ BuyBackSearchBtn”]')。点击(函数(){
var values = [];
$('div[id$="' + tabID + '_SelectedBuyBackFilterDiv"] .children').each(function (){
$(this).find('option').each(function (){
var attr = $(this).attr('rel');
if (typeof attr == 'undefined' ){
values.push($(this).val());
}
});
});
BuyBackGridReload(tabID,values);
}); //结束搜索单击
ERROR:
$(“table [id $ = \”“+ tabID + “_BuyBackGrid \”]“)setPostData({ADVERTISERID: $( “#ADVERTISER_ID”)。文本() CampaignsDdlSelectedValue: $( “选择[ID $ = \” CampaignDdl \“] 选项:选中“)。val(),startDate: $(“input [id $ = \”“+ tabID + “_FromCalBuyBack_CalendarTbx \”] “).val(),endDate:$(”input [id $ = \“”+ tabID +“_ ToCalBuyBack_CalendarTbx \”] “).val(),NoSelectedValue: NoSelectedValues})未定义
我也不想作为新参数的查询字符串传递。
有什么建议吗?
由于
A
答案 0 :(得分:0)
您无需使用setPostData
来设置postData
参数。您可以改用setGridParam
功能。请参阅here示例。
我想如果您使用包含函数的postData
参数,则根本不需要设置任何postData
参数。 jqGrid的url
和postData
参数看起来像
url:'/Controls/Advertiser/BBControlNew.ascx.ashx",
postData: {
action: "getBBData"
advertiserID: function() { return $('#advertiser_id').text(); },
startDate: function() { return $('input[id$="' + tabID + '_FromCalBuyBack_CalendarTbx"] ').val(); },
endDate: function() { return $('input[id$="' + tabID + '_ToCalBuyBack_CalendarTbx"] ').val(); },
advertiserID: function() { return $('#advertiser_id').text(); },
CampaignsDdlSelectedValue: function() { return $('select[id$="CampaignDdl"] option:selected').val(); },
startDate: function() { return $('input[id$="'+tabID+'_FromCalBuyBack_CalendarTbx"] ').val(); },
endDate: function() { return $('input[id$="'+tabID+'_ToCalBuyBack_CalendarTbx"] ').val(); },
NoSelectedValue: function() { return NoSelectedValues; }
}
必须先定义变量tabID
和NoSelectedValues
。在每个网格上重新加载每个postData
属性的函数将被调用,您可以从相应的控件中读取当前值。