4
回答
jqGrid如何传递id修改URL?
华为云4核8G,高性能云服务器,免费试用   

$(function(){ 
  $("#equipment_grid").jqGrid({
    url:'<%=request.getContextPath()%>/equipment/list/json',
					datatype : 'json',
					mtype : 'GET',
					colNames : [ 'id', 'name', 'ip', 'port', 'username', 'password',
							'updateTime' ],
					colModel : [ {
						name : 'id',
						index : 'id',
						jsonmap : 'id',
						width : 55,
						editable : true
					}, {
						name : 'name',
						index : 'name',
						jsonmap : 'name',
						width : 55,
						editable : true
					}, {
						name : 'ip',
						index : 'ip',
						jsonmap : 'ip',
						width : 90,
						editable : true
					}, {
						name : 'port',
						index : 'port',
						jsonmap : 'port',
						width : 80,
						align : 'right',
						editable : true
					}, {
						name : 'username',
						index : 'username',
						jsonmap : 'username',
						width : 80,
						align : 'right',
						editable : true
					}, {
						name : 'password',
						index : 'password',
						jsonmap : 'password',
						width : 80,
						align : 'right',
						editable : true
					}, {
						name : 'updateTime',
						index : 'updateTime',
						jsonmap : 'updateTime',
						datefmt : 'yyyy-MM-dd HH:mm:ss',
						formatter : 'date',
						formatoptions : {
							newformat : 'Y-m-d H:i:s'
						},
						width : 150,
						sortable : false,
						editable : true
					} ],
					pager : '#equipment_pager',
					rowNum : 10,
					rowList : [ 10, 20, 30 ],
					sortname : 'id',
					sortorder : 'desc',
					jsonReader : {
						root : "equipments",
						page : "page",
						total : "total",
						records : "records",
						repeatitems : false
					},
					viewrecords : true,
					caption : '设备列表'
				});
		jQuery("#equipment_grid").jqGrid('navGrid', '#equipment_pager', {
			view : true,
			edit : true,
			add : true,
			del : true
		},{ url: '/equipment/update/{id}', mtype: 'PUT'},
		{ url: '/equipment/insert', mtype: 'POST'},
		{ url: '/equipment/delete/{id}', mtype: 'DELETE'});
	});

如上代码,请问如何传值能动态替换掉{ url: '/equipment/update/{id}', mtype: 'PUT'}部分里面的{id}为colModel的id呢?

举报
肥昊
发帖于7年前 4回/8K+阅
共有4个答案 最后回答: 6年前

这是我的一个应用,你参考下:

{top: -200, left: 400, reloadAfterSubmit: true, jqModal: false, closeAfterAdd: true,
			onclickSubmit: function(params, postdata) {	// add compact_id
				var pid = myGrid.jqGrid('getGridParam','selrow') || opt.actRowid;	 // 确保能取到master grid的rowid!
				if (pid <= 0) {
					alert('请先选择合同!');
					postdata.id = 0;
					return {};
				}
				postdata.id = pid;
				return postdata;
			},
			afterComplete: function(response, postdata, formid) {
				myGrid.trigger('reloadGrid'); 
			},
			afterSubmit: function(xhr, postdata) {
				return jqg_form_resp(xhr, postdata, '添加失败!');
			}
		}, // add options

 你可以在

onclickSubmit

 事件中动态改变提交表单的属性值包括url。具体你可以到jqGrid的wiki上面查。

 

 

--- 共有 2 条评论 ---
肥昊好的,谢谢!问题解决了,但新问题又出现了,唉~ http://www.oschina.net/question/69055_29433 7年前 回复
肥昊请问你这段代码是grid那个属性的配置呢?我现在是通过添加editfunc属性解决。 7年前 回复
嘿嘿,在全局声明一个ID变量,需要改的时候改那个,url写成: "/equipment/update/"+id
--- 共有 3 条评论 ---
肥昊谢谢捧场了! 7年前 回复
sxgkwei@昊昊 : 嘿嘿,其实我一点都不知道jqGrid是干嘛的,回答也只是根据以往经验说说而已。 7年前 回复
肥昊我试了下没用呀,navGrid好像只设置一次url,不是每次都动态获取的。 7年前 回复
用jqGrid的方法获得当前rowid然后拼装呗~
--- 共有 1 条评论 ---
肥昊能取到rowid,但是我现在不知道如何获取URL的值,然后把字符串拼装和替换掉原先的URL。 7年前 回复

jQuery('#list').jqGrid('getGridParam','url')<span class="Apple-tab-span" style="white-space:pre;"> </span>//获取url

jQuery('#list').jqGrid('getGridParam','sortName')<span class="Apple-tab-span"> </span>//获取排序列<xmp>jQuery('#list').jqGrid('getGridParam','rowNum')<span class="Apple-tab-span" style="white-space:pre;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>//获取每页记录数

以此类推........

<br />

顶部