Jquery jqGrid-删除问题
我有简单的JqGridJquery jqGrid-删除问题,jquery,jqgrid,Jquery,Jqgrid,我有简单的JqGrid $j("#gridTemp").jqGrid({ jsonReader: { id: 'AppID' + 'Name', repeatitems: false }, url: GetData, datatype: "json", colNames: ['Col1', 'Col2'], colModel: [ { name: 'Col1'},
$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'));
});
由于某种原因,它不起作用。谢谢你的帮助 参见jqGrid方法。您可以像这样删除行:
$('#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]);
});
});
我不知道是什么错误,但我希望能帮助你 首先使用selarrrow参数,所以我想您希望使用multiselect grid。所以我在代码中添加了multiselect:true参数。您可以使用$'del_gridTemp'创建原始代码。单击函数{…};在我的演示中工作。我只修改了警报的文本。例如,如果您选择包含test4、test2、test12的行,您将首先看到如下消息 在确认对话框中单击“确定”按钮,然后单击“删除”按钮后,您将看到下一条消息 从我建议您使用的回调函数。编写代码看起来像
$("#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”下没有任何服务器代码,但在Firebug的Fiddler之类的任何工具中,您都可以找到将发布的数据格式。它是x-www-form-urlencoded格式的数据:
myData=Hello&oper=del&id=4%2C2%2C12
myData=Hello
oper=del
id=4,2,12
以解码形式显示:
myData=Hello&oper=del&id=4%2C2%2C12
myData=Hello
oper=del
id=4,2,12
我认为它应该接近您需要的内容。您想删除什么?吵架?专栏?网格?您希望在选定ID列表发送到发布到URL DeleteAddress的服务器之前收到通知,还是希望在服务器删除项目并且jqGrid收到服务器确认后执行相同的操作?$j'del_gridTemp'中的当前代码。单击句柄没有意义。所以,如果你描述了你真正想要的,我可以向你推荐如何实现它。我想把所有选择的ID发送到后端。在此之前,请尝试显示所选ID。如前所述,当我单击JqGrid中的小垃圾箱图标时,它不会调用$j'del_gridTemp'。单击函数。如果您回答我,请在注释中使用@Oleg,请参阅以获取更多信息。如果你回答任何其他评论,你应该遵循同样的规则。对于您的问题:您在代码中犯了一些简单的错误。我将向您发布一个演示,其中使用了相同的代码,您将把它与您的版本进行比较,以纠正错误。@Oleg我试图找到那个简单的错误。.无论如何,感谢您的帮助。嗯,问题是$'the_button'。在我的情况下,当我点击按钮时,它不会触发事件。@Yass你能给我们更多的解释吗?如果没有这些或更多的代码,很难判断。这很简单,当您单击JqGrid中的小垃圾箱图标时,它必须调用$'del_GridID.click事件right?。在我的情况下,这不是启动事件。在我的问题中,我已经给出了完整的代码。非常感谢。但我仍然无法在我的代码中找出问题所在。@Yass:不客气!我完全复制了你的代码,它工作正常。此外,我不建议您使用$'del_gridTemp'。直接单击。onclickSubmit的使用更好。仅当用户不仅单击“删除”按钮,而且确认删除时,才会调用它。您还可以使用创建与Delete相同的按钮,并在onClickButton回调中拥有完全控制权。