jqGrid传值给action问题

陈少聪 发布于 2012/11/16 08:54
阅读 2K+
收藏 0

jqGrid传值给action,只能传递第一次点击修改获取的id值,不F5刷新页面就一直传递第一次点击的值,点击其他行的id,alert可以正确拿到,就是在传值给action的时候有bug,获取的总是第一次取的值,可一刷新就可以重新获取正确,不刷新一直获取第一次的值,请问问题出在哪里?代码如下:

var idd;
function edit(){ //修改
 
var selectedId = $("#org").jqGrid("getGridParam", "selarrrow");//获取前台TABLE选中的记录条数,判断是否是一个 
if(selectedId.length==1){
var rowData = $("#org").getRowData(selectedId[0]);   //获取所选中的数据
idd=rowData["ID"];
alert(idd);  //这里可以正确的拿到每次点击的id,
//按选中的id查询评估表对应的值
$("#orgflex1").jqGrid({
url: 'xzgyxAction!selectPingGu.action',
datatype: "json",
mtype: 'post',
rownumbers: true,//显示行号
colNames: ['id','新增ID', '评估项目','评估结果','评估人','评估日期','备注'],
colModel: [
  { name: 'ID', index:'ID',sortable:false, width: 160, align: "center",fixed:true,hidden:true }, //注意此处的字段全为大写
  { name: 'XZ_ID', index:'XZ_ID',sortable:false, width: 160, align: "center",fixed:true,hidden:true },
  { name: 'PG_PROJECT', index:'PG_PROJECT', sortable:false,width: 160, align: "center",  fixed:true }, //sortable为true则该字段可排序
      { name: 'PG_RESULT', index:'PG_RESULT', sortable:false,width: 160, align: "center",  fixed:true },
      { name: 'PG_MAN', index:'PG_MAN', sortable:false,width: 160, align: "center",  fixed:true }, 
      { name: 'PG_DATE', index:'PG_DATE', sortable:false,width: 160, align: "center",  fixed:true },
      { name: 'PG_TAG', index:'PG_TAG', sortable:false,width: 160, align: "center",  fixed:true},
      ],
postData:{'queryId':idd},//idd能正确拿到,传给action 始终都是第一次获取的id :(
sortname: 'ID',
viewrecords: true,
   sortorder: "desc", 
multiselect: true,
jsonReader: { 
root: "res",
total: "totalpage",
page: "page",
records: "total",
repeatitems: false // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素(即可以json中元素可以不按顺序);而所使用的name是来自于colModel中的name设定。
},
autowidth : true,
width:  'auto',
height: 150,
caption: "评估报告"
});

加载中
0
北落
北落
没明白你什么意思,不过你code很明显的一个问题是:$("#org")?  $("#orgflex1")?
陈少聪
回复 @北落 : 点击编辑的时候,我能获取到id啊现在,问题在于,拿到了正确的id后,传给action,在不F5刷新的情况下,action拿到的永远都是第一次点击的id,不知道怎么解决了,
北落
北落
回复 @陈少聪 : 那就清楚了,你给添加个编辑按钮的时候把你要传递的Id给添加进去就可以了,2个table不可能那么智能的就给你传递Id的
陈少聪
org这个table是在页面加载的时候呈现, orgflex1是点击修改时呈现的table,需要根据org 中 的id做条件查询 现在每次拿org的id,能正确的拿到,通过orgflex1传给后台action 每次action获取的都是第一次点击的id, 只要刷新就可以正确获取, 不刷新就拿不到正确的id, 就是这个问题,兄弟明白点了没·····
陈少聪
两个不同的table, 获取id,获取的是org table里的值 orgflex1是第二个table,需要id来做条件查询
0
希望不重名
我也遇到这个问题了,楼主怎么解决的啊- -!!!
0
李勇_又幽悠游
李勇_又幽悠游
这个问题可以通过定义一个函数去获取控件的值,然后通过访问这个函数给参数传值,这样就能每次的刷新传递的参数
返回顶部
顶部