我正在尝试在 jqgrid 上使用表单编辑。当数据发送到网络服务器时,我想要在获取/发布数据中发送一个额外的字段。
听起来像 editData 是我想要使用的。如何将其挂接到导航栏?
<script type="text/javascript">
$(document).ready(function(){
if (jQuery('#ReferenceGrid').attr('role') == 'undefined' || jQuery('#ReferenceGrid').attr('role') == null) {
var lastSel;
jQuery('#ReferenceGrid').jqGrid({
url: '/PlannedWorkOrder/Items/',
datatype: 'json',
postData: { referenceNumber: $('#reference').text() },
colNames: ['Platinum Part Number', 'Quantity'],
colModel: [
{ name: 'PlatinumPartNumber', index: 'PlatinumPartNumber', width: 300, sortable: false, editable: true },
{ name: 'Quantity', index: 'Quantity', width: 300, sortable: false, editable: true, editrules:{integer: true} },
],
jsonReader: {
cell: "",
id: "PlatinumPartNumber",
repeatitems: false
},
search:false,
viewrecords: true,
height: '100%',
sortorder: 'desc',
caption: 'Details',
altRows: true,
pager : '#gridpager',
pgbuttons: false,
pginput: false,
pgtext: false,
viewrecords: false,
editurl: '/PlannedWorkOrder/Item/'
})
jQuery("#ReferenceGrid").navGrid('#gridpager', { add: true, edit: true, search: false });
}
else {
$("#ReferenceGrid").setGridParam({ postData: { firstName: $('#Reference').val(), lastName: $('#Reference').val() } });
$("#ReferenceGrid").trigger("reloadGrid")
}
});
</script>
最佳答案
要添加将在表单编辑中添加/编辑数据期间发送的附加参数,您可以使用 editData
:
jQuery('#ReferenceGrid').jqGrid('navGrid',"#gridpager",
{},
{editData: {firstName: $('#Reference').val(),
lastName: $('#Reference').text()}}, // edit options
{editData: {firstName: $('#Reference').val(),
lastName: $('#Reference').text()}); // add options
此外,您的建筑与
jQuery('#ReferenceGrid').attr('role')
看起来有点奇怪。可能你在我的旧建议 How to filter the jqGrid data NOT using the built in search/filter box 中找到了同样问题的解决方案.我建议您使用 postData
作为一个功能:使用postData: { referenceNumber: function() { return $('#reference').text(); } },
代替
postData: { referenceNumber: $('#reference').text() },
关于jqGrid:发送编辑数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3364343/