我有简单的JqGrid
$j("#gridTemp").jqGrid({
jsonReader: {
id: 'AppID' + 'Name',
repeatitems: false
},
url: GetData,
datatype: "json",
colNames: ['Col1', 'Col2'],
colModel: [
{ name: 'Col1'},
{ name: 'Col2'}
],
rowNum: 10,
autowidth: true,
rowList: [10, 20, 30],
pager: '#pager1',
}).navGrid('#pager1', { edit: false, add: false, del: true, search: false }, {}, {}, { url: DeleteAddress });
}
并尝试获取删除按钮点击事件
$j('#del_gridTemp').click(function () {
alert($j('#gridTemp').jqGrid('getGridParam', 'selarrrow'));
});
由于某种原因它无法正常工作。任何帮助appriciated。
答案 0 :(得分:2)
我不知道错误是什么,但我希望the demo会帮助你。
首先你使用selarrrow
参数,所以我想你想要多选网格。所以我在代码中添加了multiselect: true
参数。使用$('#del_gridTemp').click(function () {...});
的原始代码适用于我的演示。我只修改了警报的文本。例如,如果您选择具有“test4”,“test2”,“test12”的行,您将首先看到消息,如
单击“确定”按钮,然后在确认对话框中单击“删除”按钮,您将看到下一条消息
来自我建议您使用的onclickSubmit回调函数。代码看起来像
$("#gridTemp").jqGrid('navGrid', '#pager', {refreshstate: 'current', add: false, edit: false, del: true},
{},
{},
{ url: '/DeleteAddress',
onclickSubmit: function (options, postdata) {
alert('in onclickSubmit: postdata=' + postdata);
return { myData: 'Hello'};
}});
在onclickSubmit
方法的内部,我还展示了如何附加将与其他信息一起发送的信息。
我在URL'/ DeleteAddress'下没有任何服务器代码,但在任何工具中,如Fiddler of Firebug,您将能够获得将要发布的数据格式。它是x-www-form-urlencoded格式的数据:
myData=Hello&oper=del&id=4%2C2%2C12
以解码形式:
myData=Hello
oper=del
id=4,2,12
我认为它应该接近你所需要的。
答案 1 :(得分:0)
请参阅jqGrid方法here。您可以删除这样的行:
$('#the_button').click(function () {
//get selected Ids returns like: ["1", "2", "3"]
var selectedIds = $('#gridTemp').jqGrid('getGridParam', 'selarrrow');
//iterate over each id and delete the corresponding row
$.each(selectedIds, function (index) {
$('#gridTemp').jqGrid('delRowData', selectedIds[index]);
});
});